原文:关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为

在日常使用Entity Framework中,数据更新通常会用到。下面就简单封装了一个DBContext类 View Code 第一种更新方式,先通过Entity Framework从数据库中查找出一条记录 实体对象 ,然后修改实体对象的各个属性,最后调用Update方法 运行程序前: 运行程序后: 上面的方式可以修改为下面方式,DbContext封装类中Update可以修改为如下的形式: 运行前 ...

2017-08-14 22:59 0 3998 推荐指数:

查看详情

因为相同类型的其他实体已具有相同主键值。在使用 "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
EF 更新模型的问题,这种错误(因为相同类型的其他实体已具有相同主键值。)

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

Thu Dec 10 20:35:00 CST 2015 1 5697
Entity Framework 教程——Entity Framework实体类型

Entity Framework实体类型 : 在之前的章节我们介绍过从已有的数据库创建EDM,它包含数据库每个表所对应的实体。在EF 5.0/6.0,存在POCO 实体和动态代理实体两种。 POCO Entity (Plain Old CLR Object): POCO类是不依赖 ...

Fri Dec 30 05:21:00 CST 2016 0 1342
在MVC更新Model-First Entity Framework POCO实体外键的方法

EF4.1支持了纯粹的POCO实体,对编写Persistence-Ignorant 的程序很有帮助。EF4.1还支持Code First的开发方式,但个人感觉利用Code First在处理较为复杂的关联的时候还是力不从心,Model First是更加合适的方式。在MVC应用程序,由于无法长久 ...

Tue Jun 12 06:03:00 CST 2012 5 2211
.NET EF Find()方法查询视图(传递的主键值的数量必须与实体上定义的主键值的数量匹配)

当你使用Find()方法查询视图是是否出现以下错误: 而查询实体的时候则没有这个错误,于是观察一下EF生成的模型图 是不是发现有字段的图标不一样?没错,下图这个属性就是罪魁祸首了,只需要将它设为False,就可以了(注意保留主键为True其他全部设置为False) 最终我们的模型 ...

Thu Apr 11 18:30:00 CST 2019 0 992
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM