C#Entity Framework:如何更新记录并更改外键引用?

时间:2010-11-15 06:24:35

标签: c# entity-framework

我有两张桌子:

客户端(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字段。

希望我解释得这么好,谢谢

1 个答案:

答案 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。