我们目前正在开发一个首先使用 EF 代码的应用程序(EF 2011 年 6 月 CTP)。
我的第一个问题是:是否值得尝试升级以使用更高版本的 EF?
其次,如果是这样,是否有人知道升级所涉及的步骤 - 当我尝试为 EF 5.0 - beta 2 安装 NuGet 包时,我最终会遇到问题,因为目标框架仍然是 4.2。
非常感谢,
詹姆士。
我们目前正在开发一个首先使用 EF 代码的应用程序(EF 2011 年 6 月 CTP)。
我的第一个问题是:是否值得尝试升级以使用更高版本的 EF?
其次,如果是这样,是否有人知道升级所涉及的步骤 - 当我尝试为 EF 5.0 - beta 2 安装 NuGet 包时,我最终会遇到问题,因为目标框架仍然是 4.2。
非常感谢,
詹姆士。
CTP 早就死了,没有其他版本出现,因为所有这些东西目前都是 .NET 4.5 beta 和 EF 5.0 beta 的一部分。您必须升级到这两个,升级将包括将应用程序重新定位回 .NET 4.0 / .NET 4.5,删除当前 EF 版本的所有依赖项,并为 .NET 4.5 / EF 5.0 重新添加这些依赖项。
前段时间我写了一篇关于此的博客文章:http: //blog.3d-logic.com/2012/04/11/entity-framework-zombie-aka-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,您将进入一个更美好的世界。
感谢所有的回复。
我的主要问题是,我们首先在 4.2 代码的实现中严重依赖 ENUM。我试图将项目迁移到 4.5,但不支持 ENUM,并且每个层次结构的表也存在问题(这很容易修复)。下一步将是升级到 VS11 并使用 5.0 - 但这是一项艰巨的任务。
@jwsadler:作为 .net Framework 4.5 的一部分发布的核心 EF 库支持枚举(例如 System.Data.Entity.dll)。要使枚举与 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 功能,例如枚举或空间。