无法从'System.Data.Objects.ObjectParameter'转换为'System.Data.Entity.Core

时间:2018-06-13 06:57:50

标签: entity-framework

每当我从数据库更新EF 6模型(添加表格)时,我都会收到上述错误。

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

答案说取代

using System.Data.Objects;
using System.Data.Objects.DataClasses;

using System.Data.Entity.Core.Objects;
using System.Data.Entity.Core.Objects.DataClasses;

当我从数据库更新模型并进行编译时,有问题的名称空间(System.Data.Objects和System.Data.Objects.DataClasses)会立即返回,生成编译错误,AND 添加的表消失来自模特!

所以我发现自己陷入了一个粘性循环,即添加一个表,获得编译错误,替换前面提到的行,然后丢失表。冲洗,重复。经过5-6次尝试后,当我幸运时,添加的表格会显示在模型中。

所以我尝试重新安装Entity框架(6.2.0),但这并没有使问题消失。

有人提到“版本冲突”。除了卸载并重新安装我已多次尝试过的软件包之外,有什么方法可以检查。

1 个答案:

答案 0 :(得分:1)

您发布问题已经3个月了。希望您现在解决了您的问题。我只是遇到了同样的问题,在实体框架中更新模板文件为我解决了这个问题。希望我的回答对遇到这个问题的人有帮助!

要更新模板文件:
1.展开您的EDMX文件
2.双击(YourModelName).Context.tt
3.通过按Ctrl + F并搜索using System.Data.Objects在文件中找到相应的行
4.替换行

  using System.Data.Objects;
  using System.Data.Objects.DataClasses;

使用

using System.Data.Entity.Core.Objects;
using System.Data.Entity.Core.Objects.DataClasses;

5。保存模板文件

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