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

3

我有两个表:

Clients(id,clientname) Projects(id,clientid,projecttitle),外键引用clientid -> clients.id

当我像这样使用EF加载项目时:

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

我更改了这个项目中的一些值,并希望将其与不同的客户建立关联,但是它不允许我修改Projects表中的clientid字段。

希望我解释得足够清楚,谢谢。

1个回答

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) - 你需要实际更改导航引用(navigational reference)。
希望对你有所帮助。

1
太好了,很高兴你解决了它。 - RPM1984

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接