Entity Framework: изменение значений таблицы - PullRequest
0 голосов
/ 07 октября 2009

У меня есть таблица скажем Table1, в которой есть столбец, который является первичным ключом в другой таблице.

Я хочу изменить это значение, поэтому я стараюсь Table1.OtherTableWithID.ID = Myvalue Но я получаю ошибку
«Свойство ID является частью ключевой информации объекта и не может быть изменено.»

Итак, как мне изменить это значение, если я не могу получить к нему доступ через Table1.ID?

1 Ответ

4 голосов
/ 07 октября 2009

Я думаю, что вы описываете внешний ключ :-) Цитируя мой ответ на другой вопрос, вы можете либо выбрать связанный объект и назначить его таким образом:

table1Item.Table2 = ctx.Table2.First(t => t.ID == newID);

Или, если вы не хотите запрашивать базу данных, чтобы получить сущность внешнего ключа, или вы не настроили сущности таким образом по какой-либо причине, вы также можете использовать EntityKey для того же эффекта:

tableItem.Table2Reference.EntityKey = new EntityKey("MyDb.Table2", "ID", newID);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...