首页 > 其他 > 详细

EF 中更新模型的问题,这种错误(因为相同类型的其他实体已具有相同的主键值。)

时间:2015-12-10 13:25:43      阅读:432      评论:0      收藏:0      [点我收藏+]

在EF经常在更新模型的时候可能会同时操作一个实体几次。

其实除了SaveChanges外,其它的几次基本都是要查询出一个结果,

例如更新的时候,我们要查一下这个表中有没有相同的纪录之类的。

查询完之后,我们再SaveChanges就会出错。

 

怎么办呢?

查询的时候我们用这个方法查询:AsNoTracking() 

db.Set<实体模型>()
            .AsNoTracking()
            .FirstOrDefault(p => p.x== x)

//但这个没有Find()方法 ,不知道怎么回事。
 

 

这个方法返回一个新查询结果,但返回的实体不会在缓存中。也就是EF查完了就不再跟踪了。

好了。记录一下。打完收功!

希望能帮到困惑很久的人们!

EF 中更新模型的问题,这种错误(因为相同类型的其他实体已具有相同的主键值。)

原文:http://www.cnblogs.com/micenote/p/5035621.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!