【发布时间】:2019-04-26 04:30:18
【问题描述】:
我刚开始使用 Asp.NET MVC 和 EF,我猜想必须有一个简单的解决方案来解决我正在尝试做的事情。
我想做什么:
使用另一个数据库记录的值更新现有数据库记录。
在我的 Post Controller 操作中,我传递了原始记录的 ID,并且记录的 ID 应该被复制到原始记录上。
var orgRecord = ctx.Model.Where(x => x.ID == vm.ID)...
var copyRecord = ctx.Model.Where(x => x.ID == vm.IDtoCopy)...
我尝试了不同的方法,但我总是得到一个错误,ID“是对象的关键信息的一部分,无法修改”
以下是我的一些尝试:
orgRecord.ID = copyRecord.ID
ctx.Entry(orgRecord).CurrentValues.SetValues(copyRecord);
ctx.Entry(orgRecord).State = EntityState.Modified;
ctx.Entry(orgRecord).Property(x => x.ID).IsModified = false;
我需要做什么才能复制所有属性但保持主键不变?
谢谢。
【问题讨论】:
标签: asp.net-mvc entity-framework model-view-controller asp.net-mvc-5 entity-framework-6