C# Entity Framework : How do I update a record and change foreign key reference?

标签 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();

然后我更改了 thisProject 中的一些值,并想更改与不同客户的关系,它不允许我修改 Projects 表中的 clientid 字段。

希望我解释得足够好,谢谢

最佳答案

你需要做这样的事情:

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.

关于C# Entity Framework : How do I update a record and change foreign key reference?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4181928/

相关文章:

c# - 如何对枚举强制执行 Serilog 标记

c# - asp.net mvc Entity Framework 代码第一个网站加载时间过长

entity-framework - 如何在 Entity Framework 核心中重命名迁移

c# - 重用模型属性作为 SelectList 项的来源会导致在一个选择控件中选择了不正确的选项

c# - Azure 上日期解析的意外行为

c# - 如何在 UITableView 上显示 JSON 数据

entity-framework - Entity Framework : Assign entity to property of another entity

c# - 使用 C# && dotnet core 对单词进行编码

c# - 如何将枚举类型映射到 tinyint

.net - 如果使用 Linq 和 EF,SP 是否多余(最佳实践)