【发布时间】:2023-04-01 18:25:01
【问题描述】:
我正在使用带有 AS.NET MVC 应用程序的实体框架。我需要允许用户创建新记录并修改现有记录。我可以毫无问题地获取现有记录,但是当我传回编辑过的实体并尝试保存它时,它会创建一个新记录并保存它,而原始记录保持不变。
我使用主键(例如员工记录的 ID 号)从 EF 获取对象。我成功检索它,并像这样设置 MergeOption:
Context.Sector.MergeOption = MergeOption.NoTracking;
我能够一直追踪到该对象具有正确的数据(使用原始记录的键)直到我调用的点:
Context.SaveChanges();
但是,在此之后,会创建新记录,而不是修改现有记录。
我在这里有什么明显的遗漏吗?我原以为检索对象并更改其某些值(不是 ID)并保存它会起作用,但显然不行。
谢谢,
克里斯
【问题讨论】:
-
发布你的代码,我想我知道你做错了什么但不能确定。
-
您有什么特别需要看的吗?我想发布更多代码,但它分布在各个层和一些专有库中,所以如果有什么特别有助于我的东西,我可以删除它。你的理论是什么?
标签: asp.net-mvc entity-framework