C # Entity Framework: Как обновить запись и изменить ссылку на внешний ключ? - PullRequest
3 голосов
/ 15 ноября 2010

У меня есть две таблицы:

Клиенты (идентификатор, имя клиента) Проекты (id, clientid, projecttitle) ссылочный внешний ключ клиента -> clients.id

Когда я загружаю проект с EF, как это:

thisProject = (from p in dataEntity.projects.Include("client")
               where p.id == INTVALUE
               select p).FirstOrDefault();

Затем я изменяю некоторые значения в этом проекте и хотел бы изменить отношение к другому клиенту, это не позволит мне изменить поле клиента в таблице Projects.

Надеюсь, я объяснил это достаточно хорошо, спасибо

1 Ответ

4 голосов
/ 15 ноября 2010

Вам нужно сделать что-то вроде этого:

var thisProject = (from p in dataEntity.projects.Include("client")
               where p.id == INTVALUE
               select p).FirstOrDefault();

var newClient = dataEntity.clients.FirstOrDefault(); // change to suit
thisProject.Client = newClient;

Вы не можете просто изменить EntityKey AFAIK - вам действительно нужно изменить навигационную ссылку.

НТН.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...