附加类型的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Mo

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了附加类型的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Mo相关的知识,希望对你有一定的参考价值。

var list= DAL.LoadEntities(x => x.OrderCode == orderCode).AsNoTracking().ToList().FirstOrDefault();

在EF查询的时候加上AsNoTracking()

此时再对list进行赋值操作

只要主键不变,然后调用:

DAL.EditEntity(list);

DbContext.SaveChanges();

即可将修改的结果保存到数据库

以上是关于附加类型的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Mo的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC - 附加类型为“MODELNAME”的实体失败,因为同一类型的另一个实体已经具有相同的主键值

附加类型实体失败,因为相同类型的另一个实体已经具有相同的主键值。

附加类型为“”的实体失败,因为另一个实体具有相同的主键值

无法跟踪实体类型的实例,因为已在跟踪具有相同键值的另一个实例

使用实体框架编辑以前的数据

无法附加分离的实体:“ObjectStateManager 中已存在具有相同键的对象”