每当我从数据库更新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),但这并没有使问题消失。
有人提到“版本冲突”。除了卸载并重新安装我已多次尝试过的软件包之外,有什么方法可以检查。
答案 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语句