【发布时间】:2012-08-21 16:51:37
【问题描述】:
我的应用程序基于 .NET 4.0 和 EF 4。我现在正在考虑升级到最新版本。
- 是否存在可能对我的应用程序产生不利影响的重大更改或行为差异?
- 升级路径有多容易?升级到 EF 5 是否需要任何代码更改或其他工作?
- 是否有任何与代码优先相关的新功能值得升级?
【问题讨论】:
标签: .net entity-framework entity-framework-5 .net-4.5
我的应用程序基于 .NET 4.0 和 EF 4。我现在正在考虑升级到最新版本。
【问题讨论】:
标签: .net entity-framework entity-framework-5 .net-4.5
编辑:首先,EF 5/.NET 4.5 的一个主要问题是永远不会支持 Windows XP 或 Server 2003(或更早版本)。如果您需要对其中任何一个操作系统的支持,请使用 EF 4.4 和 .NET 4.0,它没有任何有趣的新功能。
此外,我遇到了一个与 DataAnnotations 移动命名空间相关的(简单)重大更改:
Entity Framework 4.1 到 4.3 在 System.ComponentModel.DataAnnotations 命名空间中的 EntityFramework 程序集。在 .NET 4.5 中,这些注释被移到 成为 .NET Framework 的一部分 System.ComponentModel.DataAnnotations.Schema 的命名空间 System.ComponentModel.DataAnnotations.dll 程序集。如果您正在使用 EF 4.x 和面向 .NET 4.5 这会导致两个数据注释 在不同的程序集中具有相同的名称。
请参阅http://blogs.msdn.com/b/adonet/archive/2012/02/29/ef4-3-1-and-ef5-beta-1-available-on-nuget.aspx,它仍然适用于 EF 5 RTM。
简而言之,我不得不补充:
using System.ComponentModel.DataAnnotations; // had this already
using System.ComponentModel.DataAnnotations.Schema; // needed this one
到无数个地方。
【讨论】:
升级路径有多容易?升级到 EF 5 是否需要任何代码更改或其他工作?
您必须升级到 .net 4.5 才能使用大多数新功能。
是否有任何与代码优先相关的新功能值得升级?
与代码优先不完全相关,因为它是横切的,但仍然值得一提:枚举支持。
【讨论】:
enum 仅支持就值得感动。性能优化也不会受到伤害。
enum 的支持相当贫乏。