从EF 4升级到EF 5

时间:2012-08-27 07:38:06

标签: .net entity-framework entity-framework-5 .net-4.5

我的应用程序基于.NET 4.0和EF 4.我现在正在考虑升级到最新版本。

  • 是否存在可能对我的申请产生不利影响的重大变化或行为差异?
  • 升级路径有多容易?升级到EF 5是否需要更改代码或其他工作?
  • 是否有任何与代码优先相关的新功能值得升级?

2 个答案:

答案 0 :(得分:11)

编辑:首先,EF 5 / .NET 4.5有一个主要问题,那就是永远不会支持Windows XP或Server 2003(或更早版本)。如果您需要支持这两种操作系统,请使用带有.NET 4.0的EF 4.4,它没有任何有趣的新功能。

此外,我遇到了与DataAnnotations移动命名空间相关的(简单)重大更改:

  

实体框架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

到了无数个地方。

答案 1 :(得分:5)

  

升级路径有多容易?升级到EF 5是否需要更改代码或其他工作?

您必须升级到.net 4.5才能使用大多数新功能。

  

是否有任何与代码优先相关的新功能值得升级?

与代码优先不完全相关,因为它是横切的,但仍然值得一提:枚举支持