我想将我的应用程序升级到 EF 5 以利用对枚举空间的支持等功能。但是,除非迁移到 .Net 4.5,否则我无法升级。
我想知道 EF 5 使用了 .Net 4.5 的哪些功能而在 .Net 4.0 中无法实现?
我的理解是 EF >= 4.1 (包括 EF 5)包括
- EF“核心库”如(
System.Data.Entity.dll
) 是 .NET Framework 的一部分
- 您可以通过 Nuget 下载附加包/程序集,其中包含
DbContext
API 和代码优先开发
2011年夏天就有计划和尝试(实体框架 2011 年 6 月 CTP)来释放enum
、空间支持和其他新功能(代码优先迁移除外)作为 .NET 4.5 发布之前核心库的更新。但 EF 团队已决定 NuGet 包可以进行此类带外更新(这就是为什么 EF 4.3 已经具有不需要触及核心库的迁移功能),但对于核心库来说,它们也太难了在 .NET 4.5 发布之前很难完成:
实体框架有两个逻辑部分,核心部分
.NET Framework 和 Visual Studio 中附带的组件以及
我们可以更新更多的“带外”组件
频繁的时间表。我们目前正在研究如何更新
核心组件的节奏也更频繁。 'EF 2011 年 6 月
CTP’是我们第一次尝试将核心部件运送到更多
经常发生,而且很明显我们在技术上还没有准备好
还要做这个吗。
核心组件包括:
- 核心 EF 运行时(System.Data.Entity.dll 和 System.Web.Entity.dll)
- EF 设计师
带外组件包括:(我们可能会运送更多带外组件
未来的组件)
- DbContext API 和 Code First (Entity Framework.dll)
- 使用模型优先和数据库优先的 DbContext API 的 T4 模板
- EF 电动工具
- 代码优先迁移
(引自here.)
这意味着enum
对 EF 的支持将成为 .NET 4.5 核心库的一部分,而不是可下载的 EF 5 NuGet 包的一部分。因此,新的 EF 功能如下enum
空间支持不能与 .NET 4.0 一起使用。
有关将“EF Core 库”与“EF NuGet 包”分离的历史和原因的更多信息,请参见此处:http://blogs.msdn.com/b/adonet/archive/2011/10/18/how-we-talk-about-ef-and-its-future-versions.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)