我不能在现有项目中使用带有net 4.0的EF 6。在同一解决方案的新解决方案中,我可以做到

时间:2013-11-25 18:20:01

标签: entity-framework

我有一个在.net 4.0中的VS2010中创建的项目,并且有一个高级开发。

现在我使用VS2013并且我想使用EF 6.0而不是EF 4.4,所以我在作为我的存储库的项目中安装了EF 6 nuget,并尝试创建edmx。

在向导中,在其中一个步骤中,显示两个选项,选择已禁用的EF 6.0和已启用的EF 5.0。它告诉我,我无法选择EF 6.0,因为我引用了EntityFramework.dll。

所以我删除了引用并再次尝试,在这种情况下我可以选择EF 6,但是edmx无法显示,因为axml文件存在差异。 EntityFramework的dll版本是4.0。

在同一个解决方案中,为了进行测试,我创建了一个新项目,默认为net 4.5,但我更改了目标。然后我安装EF 6.0这个项目,我尝试创建edmx模型。在这种情况下,我不会被问及EF的版本,直接创建模型,entityFramwork dll的版本是6.0。如果我使用xml编辑器编辑edmx文件,我可以看到该模型的版本是v3,EF6的版本也是如此。

在我遇到问题的项目中,我认为我清理了所有,我删除了项目中的所有引用,我删除了我的解决方案中的包文件夹,还删除了我的项目中的de package配置文件。但是我无法在这个项目中使用EF 6。我也清理了项目的配置文件。

这就是为什么我怀疑如果我使用在VS2010中创建的项目并且用V2013打开它时是否存在一些问题。

问题似乎是在某个地方项目存储有关EF版本的信息并使用此版本,但我不知道保存在哪里。

感谢。

1 个答案:

答案 0 :(得分:1)

我建议你阅读这篇文章。

Upgrading to EF6

它具有更新为EF6所需的所有步骤