Microsoft 最近发布了 Entity Framework 6.1,新版本的主要特性包括:
- 工具合并,为新 Entity Framework 模型的创建提供了一致的方式。该功能扩展了 ADO.NET 实体数据模型向导,支持创建 Code First 模型,支持对已有数据库的逆向工程。这些功能之前存在于测试版本的 Entity Framework Power Tools 中。
- 事务提交失败的处理,提供了 CommitFailureHandler,该处理器利用新引入的能力拦截事务操作。CommitFailureHandler 允许在提交事务的时候从连接失败中自动恢复。
- 索引特性, 用户能够通过在 Code First 模型的一个属性(或者多个属性)上放置[Index]特性指定索引。Code First 会根据这些设置在数据库中创建对应的索引。
- 公共映射API,用户能够通过该 API 获取 Entity Framework 所拥有的实体属性和类型与数据库中的列和表之间的映射信息。 在之前的版本中这个 API 是内部的。
- 通过App/Web.config文件配置拦截器的能力,不需要重新编译应用程序就能添加拦截器。
- System.Data.Entity.Infrastructure.Interception.DatabaseLogger是一个新拦截器,它能够让用户很容易地将所有的数据库操作记录到某个文件中。结合前面提到的特性,我们能够很容易地为已部署的应用程序打开数据库操作记录功能,不需要重新编译。另外还改进了迁移模型变更发现(Migrations Model Change Detection)功能,能够更加精确的搭建迁移;变更发现的处理性能也得到了增强。
- 性能提升,包括减少初始化期间的数据库操作,优化 LINQ 查询中的 null 相等比较,快速视图生成(模型创建)支持更多的场景,拥有多个关联的跟踪实体可以更有效的实例化。
- LINQ查询支持.ToString、String.Concat和枚举HasFlags。
- System.Data.Entity.Infrastructure.Interception.IDbTransactionInterceptor 是一个新拦截器,组件能够通过该拦截器在 Entity Framework 启动事务操作的时候收到通知。
用户可以从 NuGet 上获取运行时。如果你使用的是 Code First 的开发模式,那么根本没有必要安装相关工具,只需要按照获取页面上提供的步骤安装最新版本的 Entity Framework 运行时即可。针对 Visual Studio 2012 和 Visual Studio 2013 的工具可以从 Microsoft 下载中心获取。如果你想使用 Model First 或者 Database First 开发模式,那么只需要安装这些工具。