2013-11-25 55 views
0

我正在使用VS2013,我有一个目标为4.0的项目。我已经从nuget安装了实体框架,即版本6.0.1。如何使用EF 6.0与净4.0?

下一个tep是从sql server创建edmx。在向导中,有一个显示两个选项的屏幕,使用EF 6.0或5.0。选项6.0被取消,我只能选择5.0。我有一个消息,说我的项目有一个早期版本的EF的引用,我必须退出向导并在与进程冲突前更新。

我删除了对EntityFramework和EntityFramework.SqlServer的引用,并且从我从nuget安装EF 6.0时创建的包文件夹中手动添加了它。

我尝试再次创建edmx,但问题仍然存在。

如果我删除了两个引用,我尝试创建EDMX,我可以选择6.0版本EF的,但后来我看不到EDMX,因为我得到一个错误,指出:

“的实体模型设计器无法显示您请求的文件“

我认为,与VS2013我可以使用EF 6.0与4.0项目没有做任何特殊的配置。

我可以生成一个edmx模型,并使用4.0项目的EF 6.0吗?怎么样?

谢谢。

回答

1

您可以将EF 6用于.NET 4.0项目。我自己使用它(但与VS2012)。

您是否尝试使用NuGet从您的解决方案中删除EF,清理您的解决方案并再次安装EF 6.0?

不能将EF 5.0与.NET 4.0一起使用,因为EF5对System.Data.Entity.dll具有依赖性,该属性是.NET Framework版本的一部分。实体框架6.0不具有此依赖性,该DLL包含在此版本中。

+0

我创建了一个空项目,在这种情况下,我可以创建edmx,并且在向导中我还没有被问到要使用的EF版本,直接创建用于EF 6.0的edmx v3以及引用的dll是EF的v6.0。所以问题出在我的项目上。我必须研究这个问题。 –