首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法从“System.Data.Objects.ObjectParameter”转换为“System.Data.Entity.Core”

无法从“System.Data.Objects.ObjectParameter”转换为“System.Data.Entity.Core”
EN

Stack Overflow用户
提问于 2018-06-13 06:57:49
回答 1查看 2.3K关注 0票数 1

每当我从数据库更新EF 6模型时(添加一个表),我就会得到上面的错误。

这不是什么新问题。我阅读了这里提出的所有建议(cannot convert from 'System.Data.Objects.ObjectParameter' to 'System.Data.Entity.Core.Objects.ObjectParameter')。

答案说要取代

代码语言:javascript
运行
复制
using System.Data.Objects;
using System.Data.Objects.DataClasses;

使用

代码语言:javascript
运行
复制
using System.Data.Entity.Core.Objects;
using System.Data.Entity.Core.Objects.DataClasses;

当我从数据库更新模型并编译时,违规的名称空间(System.Data.Objects和System.Data.Objects.DataClasses)马上返回,生成一个编译错误,添加的表从模型中消失!

因此,我发现自己陷入了添加表、获得编译错误、替换已格式化的行以及丢失表的恶性循环。冲洗,重复。经过5-6的尝试,当我幸运的时候,添加的表格就会出现在模型中。

因此,我尝试重新安装实体框架(6.2.0),但这并不能解决问题。

有人提到了“版本冲突”。除了卸载和重新安装我已经尝试过多次的软件包之外,还有什么方法来检查它呢?

EN

回答 1

Stack Overflow用户

发布于 2018-10-09 14:56:58

你已经三个月没提问题了。希望你现在解决了你的问题。我刚刚遇到了同样的问题,在实体框架中更新模板文件为我解决了这个问题。希望我的回答能帮助任何人来回答这个问题!

要更新模板文件:

  1. 展开EDMX文件
  2. 双击(YourModelName).Context.tt
  3. 通过按Ctrl +F并搜索using System.Data.Objects在文件中找到相应的行
  4. 更换线路
代码语言:javascript
运行
复制
  using System.Data.Objects;
  using System.Data.Objects.DataClasses;

使用

代码语言:javascript
运行
复制
using System.Data.Entity.Core.Objects;
using System.Data.Entity.Core.Objects.DataClasses;
  1. 保存模板文件

从现在开始,每次更新实体(表或存储过程)时,都应该使用语句生成正确的语句。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50830858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档