我有两张桌子:
客户端(id,clientname) 项目(id,clientid,projecttitle)外键参考clientid - > clients.id
当我使用EF加载项目时:
thisProject = (from p in dataEntity.projects.Include("client")
where p.id == INTVALUE
select p).FirstOrDefault();
然后我在thisProject中更改了一些值,并希望将关系更改为不同的客户端,它不允许我修改Projects表中的clientid字段。
希望我解释得这么好,谢谢
答案 0 :(得分:4)
你需要做这样的事情:
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 - 您需要实际更改导航参考。
HTH。