EF修改实体状态(State)时出现异常找不到方法“System.Data.Entity.Infrastructure.set_State”
来源:互联网 发布:网络的定义与形成 编辑:程序博客网 时间:2024/05/16 06:21
EF修改实体状态(State)时出现异常找不到方法“System.Data.Entity.Infrastructure.set_State”,具体异常名字记不清楚了(因为已经解决了 O(∩_∩)O哈哈~)。大致上是在读取或设置实体状态时找不到State的get和set方法。
异常出现代码如下:
var entry = this._context.Entry(entity);this._context.Set<T>().Attach(entry.Entity);//向上下文附加实体entity;entry.State=EntityState.Modified;//修改实体状态。此处发生异常或执行这段代码前就发生异常“找不到·····set_State方法”//同样,我们读取实体当前的状态也会发生异常var state=entry.State;//“找不到·····get_State方法”
我就直接说我的解决办法了。
我百度网上资料,查了好久查到了一个原因,说是输出项目与当前操作数据库的的类库EF版本不一致··。
我瞬间想到 ,当初建项目的时候确实是这样的。应为vs2013建的mvc项目EF自动用的EF6.0,而我操作数据的类库引用的是EF5.0,当初以为没什么事,关键的两个版本不一致,查询数据在显示到页面上时也没有问题,所以没在意。直到我对数据库有删除、修改、插入的时候,上面的异常就出现了···
解决:
1.更改EF引用的版本,使其全部一致。包括依赖于EF不同版本的引用。如:EntityFramework.SqlServer等。
2.清理解决方案,去项目bin目录查看是否还有不要的DLL在里面,有就删掉。
3.查看web.config里面EF的版本是否正确。
4.查看是否有这个配置:
<!--<providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers>-->
删除或者注释。这是EF6的东西。
5.重新生成解决方案。
问题到此结束。
0 0
- EF修改实体状态(State)时出现异常找不到方法“System.Data.Entity.Infrastructure.set_State”
- MVC层页面报错:没有找到方法: 'Void System.Data.Entity.Infrastructure.DbEntityEntry`1.set_State(System.Data.Enti
- System.Data.Entity.Infrastructure.DbUpdateException
- 生成Context.cs文件里 找不到这个命名空间 “System.Data.Entity.Infrastructure”。
- MVC中使用entity framework(EF)出现“必须添加对程序集“System.Data.Entity”解决方法
- EF中System.Data.Entity.Internal.AppConfig的类型初始值设定项引发异常
- EF中System.Data.Entity.Internal.AppConfig的类型初始值设定项引发异常
- “System.Data.Entity.Infrastructure.DbUpdateConcurrencyException”类型的异常在 EntityFramework.dll 中发生,但未在用户
- 使用vs2013出现EF错误“System.Data.Entity.DbContext”在未被引用的程序集中定义
- ADO.NET EF 中的实体修改方法
- .Net EF 无法将类型"System.Data.EntityState"隐式转换为"System.Data.Entity.EntityState"
- EF 修改实体关系时,报added状态错误问题解决办法
- EF连接mysql数据库生成实体模型,出现报错无法生成模型:“System.Data.StrongTypingException: 表“TableDetails”中列“IsPrimaryKey”的值为
- 传入字典的模型项的类型为“System.Data.Entity.Infrastructure.DbQuery`1[MapScience.PovertyAlleviation.Web.Models.Qu
- Entity Framework(实体框架 EF)
- 初学实体框架EF(Entity Framework)
- 15.C#:VS2010无法新建实体数据模型,找不到Entity Data Model选项
- 使用Excel时出现System.Data.OleDb.OleDbException: 找不到可安装的 ISAM错误。
- 如何将ios键盘返回由英文设置成中文
- Zookeeper 实现原理
- spring boot 实际应用(四)log4j2 整合
- JSPatch学习(一)
- android 手机屏幕密度等级和屏幕逻辑尺寸
- EF修改实体状态(State)时出现异常找不到方法“System.Data.Entity.Infrastructure.set_State”
- C# 用file 上传文件大小时判断文件大小 file onchange 事件为什么只执行一次解决方案
- No identifier specified for entit失误记录
- MySQL大内存配置方案 如my-medium.ini、my-huge.ini等
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
- matlab读取RGB数据
- HTML5离线缓存Manifest是什么
- 时间序列分析之ARIMA模型预测__R篇
- 分页 常用数据库存储过程