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

在EF经常在更新模型的时候可能会同时操作一个实体几次。 其实除了SaveChanges外,其它的几次基本都是要查询出一个结果, 例如更新的时候,我们要查一下这个表中有没有相同的纪录之类的。 查询完之后,我们再SaveChanges就会出错。 怎么办呢 查询的时候我们用这个方法查询:AsNoTracking 这个方法返回一个新查询结果,但返回的实体不会在缓存中。也就是EF查完了就不再跟踪了。 好了。 ...

2015-12-10 12:35 1 5697 推荐指数:

查看详情

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

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

Sun Mar 29 04:24:00 CST 2015 1 3074
错误:因为相同类型的其他实体已具有相同主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 解决方法

更新一个实体类的时候可能会有预先有一次查询或者其它操作,我们这样用目的是为了与提交的数据做一个比较之类的东西,如果先查询再对此类进行SaveChanges就会出错。 我们只要用AsNoTracking()让它停止追踪就行了。如下: 返回查询结果系统将不在追踪,不影响下面的操作。 ...

Mon Apr 25 18:20:00 CST 2016 0 4843
关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形的任何实体具有冲突键值,则可

在日常使用Entity Framework,数据更新通常会用到。下面就简单封装了一个DBContext类 View Code 第一种更新方式,先通过Entity Framework从数据库查找出一条记录(实体对象),然后修改实体对象的各个属性,最后调用 ...

Tue Aug 15 06:59:00 CST 2017 0 3998
Java 相同类型强制转换异常

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.cs ...

Sun Nov 03 11:24:00 CST 2019 1 824
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM