我的应用程序基于.NET 4.0和EF 4.我现在正在考虑升级到最新版本。
答案 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才能使用大多数新功能。
是否有任何与代码优先相关的新功能值得升级?
与代码优先不完全相关,因为它是横切的,但仍然值得一提:枚举支持。