从6月CTP EF 4.2升级

时间:2012-05-10 15:09:30

标签: entity-framework ef-code-first

我们目前正在开发一个首先使用EF代码的应用程序(2011年6月的EF CTP)。

我的第一个问题是:是否值得尝试升级以使用更高版本的EF?

其次,如果是这样,有没有人知道升级所涉及的步骤 - 当我尝试为EF 5.0-beta 2安装NuGet包时,我最终会遇到问题,因为目标框架仍然是4.2。

非常感谢,

詹姆斯。

4 个答案:

答案 0 :(得分:1)

CTP已经很久没有其他版本了,因为所有这些东西目前都是.NET 4.5 beta和EF 5.0 beta的一部分。您必须升级到这两个,升级将包括将应用程序重新定位回.NET 4.0 / .NET 4.5,删除当前EF版本的所有依赖项,并重新添加.NET 4.5 / EF 5.0的依赖项。

答案 1 :(得分:1)

前段时间我写了一篇博文:http://blog.3d-logic.com/2012/04/11/entity-framework-zombie-a-k-a-microsoft-entity-framework-june-2011-ctp/。 CTP 4.2存在许多问题,因为与从.NET Framework中运送.NET Framework库相关的技术挑战(如4.2目标)。转到.NET Framework 4.5,其中包含与EF 4.2 +错误修复相同的功能集,并具有上线许可证。在它上面使用EF 5.0,你将会在一个更美好的世界。

答案 2 :(得分:0)

感谢所有回复。

我的主要问题是我们首先在4.2代码的实现中严重依赖ENUM。我尝试将项目迁移到4.5但不支持ENUM,并且每个层次结构的表也存在问题(这很容易修复)。下一步将是升级到VS11并使用5.0 - 但这是一项艰巨的任务。

答案 3 :(得分:0)

@jwsadler: 枚举由作为.net Framework 4.5(例如System.Data.Entity.dll)的一部分发布的核心EF库支持。要使枚举与CodeFirst / DbContext一起使用,您需要来自NuGet的EF 5.0.0包(使用Install-Package EntityFramework -pre( - pre很重要))。您需要VS 11,因为Visual Studio 2010不能用于创建面向.NET Framework 4.5的应用程序。请注意,在Visual Studio 11上安装nuget软件包时,会考虑项目的.NET Framework集的目标版本。如果您以.NET Framework 4为目标,则无法使用枚举或空间等EF5功能。