BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Entity Framework 6.1 RTM发布

| 作者 孙镜涛 关注 2 他的粉丝 发布于 2014年3月20日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

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查询支持.ToStringString.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开发模式,那么只需要安装这些工具。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

Code First终于支持索引了 by 孙 长宇

Code First终于支持索引了,之前我是在DbMigrationsConfiguration的Seed方法中调用CreateIndexOperation,很别扭。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT