EF报错 附加类型model失败

附加类型“Models.T_WindowT_Device”的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为。这可能是因为某些实体是新的并且尚未接收数据库生成的键值。在此情况下,使用 "Add" 方法或者 "Added" 实体状态跟踪该图形,然后将非新实体的状态相应设置为 "Unchanged" 或 "Modified"。

var list= _dataCenterContext.Set<T_User>().AsNoTracking().ToList().FirstOrDefault();

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

此时再对list进行赋值操作

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

状态改为EntityState.Modified;

_dataCenterContext.SaveChanges();

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

原文地址:https://www.cnblogs.com/mantishell/p/11493437.html