博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Entity Framework 6 编译出错的问题(VS2012)
阅读量:5335 次
发布时间:2019-06-15

本文共 1104 字,大约阅读时间需要 3 分钟。

更新:其实这个问题是由于VS2012的EF代码生成模板是EF 5.x的,自然会与EF6 的runtime不兼容。起初我按照更新前的方式解决了,后来却发现会出现不止这一处命名空间发生改动而导致的问题。

VS2012默认的EF代码生成模板:

解决方法:

1. 下载安装 。

2. 在VS工程里删除 *.tt模板。

3. 在Model Designer中右键选择Add Code Generation Item,然后选择EF6的模板EF 6.x DbContext Generator

4. 保存,重新编译。

参考:

原来EF包括tools和runtime啊。作用顾名思义。原来我之前用NuGet安装的只是runtime...尴尬啊尴尬~

安装好之后再创建新的项目就不用这么麻烦了,会自动使用EF6的模板。总结起来就是 - 使用方法不对。。。 

 

---------------------------------- 以下是更新前 ------------------------------------------

 

在VS2012中使用EF6上来建立一个Entity Data Model后啥都不干,编译都会报错。

错误如下:

Value of type 'System.Data.Objects.ObjectParameter' cannot be converted to 'System.Data.Entity.Core.Objects.ObjectParameter'.

Value of type 'System.Data.Entity.Core.Objects.ObjectResult(Of DataLibrary.MyStoredProc_Result)' cannot be converted to 'System.Data.Objects.ObjectResult(Of DataLibrary.MyStoredProc_Result)'

Google一搜有很多,最符合的在。

解决方法:

法一:回退到EF5

法二:将*.Context.tt文件中的

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

替换为

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

原因就是名称空间冲突了。

转载于:https://www.cnblogs.com/lx-nju/p/4789719.html

你可能感兴趣的文章
Linux远程登录
查看>>
Linux自己安装redis扩展
查看>>
HDU 1016 Prime Ring Problem(dfs)
查看>>
C#中结构体与字节流互相转换
查看>>
WIN10配置MongoDB
查看>>
session和xsrf
查看>>
跟随大神实现简单的Vue框架
查看>>
Linux目录结构
查看>>
LeetCode-Strobogrammatic Number
查看>>
luoguP3414 SAC#1 - 组合数
查看>>
五一 DAY 4
查看>>
(转)接口测试用例设计(详细干货)
查看>>
【译】SSH隧道:本地和远程端口转发
查看>>
win8.1安装Python提示缺失api-ms-win-crt-runtime-l1-1-0.dll问题
查看>>
图片点击轮播(三)-----2017-04-05
查看>>
判断两个字符串是否相等【JAVA】
查看>>
直播技术细节3
查看>>
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>
字母和数字键的键码值(keyCode)
查看>>