C#实体框架:如何更新记录和更改外键引用?

C#实体框架:如何更新记录和更改外键引用?,c#,entity-framework,C#,Entity Framework,我有两张桌子: 客户端(id、客户端名称) 项目(id、clientid、projecttitle)外键引用clientid->clients.id 当我加载带有EF的项目时,如下所示: thisProject = (from p in dataEntity.projects.Include("client") where p.id == INTVALUE select p).FirstOrDefault(); var thisPro

我有两张桌子:

客户端(id、客户端名称) 项目(id、clientid、projecttitle)外键引用clientid->clients.id

当我加载带有EF的项目时,如下所示:

thisProject = (from p in dataEntity.projects.Include("client")
               where p.id == INTVALUE
               select p).FirstOrDefault();
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;
然后,我更改了此项目中的一些值,并希望更改与不同客户端的关系,这将不允许我修改项目表中的clientid字段


希望我解释得足够好,谢谢你需要这样做:

thisProject = (from p in dataEntity.projects.Include("client")
               where p.id == INTVALUE
               select p).FirstOrDefault();
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-您需要实际更改导航引用


嗯。

太好了,很高兴你把它整理好了。