• [整理]EF6.X更新了什么(版本历史中文版)


      下定决心以后用EF6.x版本了。想看看有什么更新特性,结果去人家github老巢一看,EF7 for vnext,顿时蛋疼了起来。想想国内这种技术氛围,有多少还在用ASP的,有多少还在用ADO.NET的(我指传统那种直接sql弄得不亦乐乎的),有多少个aspx结尾的网站还在开发的路上,就不想再多说什么了。

      EF6是和VS2013一起发布的,所以要体验EF6的完整特性请做个自带VS2013光环的程序员。

      本文基于http://msdn.microsoft.com/en-us/data/jj574253 搬运,然后参考了一些链接。栗子见原文。本文纯粹概要翻译。

      EF6以下的见http://msdn.microsoft.com/zh-cn/data/jj574253

    Release  摘要  备注
    EF 6.1

    1工具整合。 EF Power Tools提供了一个一致的方式去创建一个新的EF模型

     2事务提交失败处理.CommitFailureHandler利用了一个拦截事务操作的新特性,能够自动从失败的连接中恢复并提交事务
    3IndexAttribute.在Code First model里的属性上标注 [Index],Code First 就会在数据库里对相应字段创建索引。
    4公共映射API.该API用来指示属性和类是如何对应数据库的字段列和数据表的,访问修饰符从以往的internal提升为public。
    5在配置文件(APP/Web.config)里配置拦截器而无需重新编译程序。
    By the way,System.Data.Entity.Infrastructure.Interception.DatabaseLogger是一个能够轻松记录数据库操作的一个新的拦截器。结合先前提到的特性,能够无需重编译而对一个部署好的程序接入数据操作记录功能。
    6迁移模型的变化检测更为准确,性能也得到了提高。
    7性能提升。体现在初始化期间减少数据库操作,linq查询null相等比较的优化,更快的视图生成(建模),更有效地跟踪多个关联实体
    8NuGet上能够找到该版本运行时。
    9微软下载中心中有VS2012,2013的工具用于 Model First or Database First。

    1VS2013里添加实体模型会有多个选项

    8 这算什么狗屁新特性...

    EF 6.0.2  修正了一些bug。  
    EF 6.0.1  修正了一些bug。  
    EF 6

    一、工具更新for VS
    二、运行时

    Entity Framework 6包含了以下运行时特性,它们同时适用于代码优先和EF设计器:

    01异步查询和保存.基于.NET4.5的异步模式
    02自动连接恢复(Connection Resiliency).
    03基于代码的配置
    04“依赖解决方案(Dependency Resolution)”.依赖项解析提供了服务定位模式支持,以及可以实现自定义替换。
    05拦截/SQL日志.
    06经过改进的可测试性。表现在mock或者自己写的测试的借助下,对DbContext和DbSet的测试更为简单
    07使用已经打开的DbConnection创建DbContext
    08改进的事务支持.
    09在.NET 4.0中,有更好的性能,并且支持枚举和空间数据类型
    10增强了LINQ查询中的Enumerable.Contains方法
    11经过改进的视图生成
    12“可插式复数化(Pluggable Pluralization)”和“单数化服务(Singularization Service)”
    13实体类Equals或GetHashCode方法的自定义实现
    14DbSet.AddRange/RemoveRange.添加/移除DbSet里的多个实体
    15DbChangeTracker.HasChanges.查看对数据库任何挂起的更改。
    16SqlCeFunctions.提供在 LINQ to Entities 查询中,调用数据库中函数的公共语言运行时 (CLR) 方法。

    下面的运行时特性只适用于Code First:
    01自定义代码优先约定
    02支持将Code First映射到插入、更新、删除的存储过程
    03幂等迁移脚本.支持生成从任意版本升级到最新版本的sql脚本。
    04可配置的迁移历史表。
    05每个数据库有多个上下文
    06DbModelBuilder.HasDefaultSchema。一个新的Code First API,允许默认的数据库架构在一处进行配置
    07DbModelBuilder.Configurations.AddFromAssembly方法。允许在以Code First Fluent API使用配置类的时候,在一个组件内定义配置类。
    08自定义迁移操作
    09默认事务隔离级别改为READ_COMMITTED_SNAPSHOT。用Code First建数据库的时候更灵活,死锁更少。
    10Entity and complex types can now be nestedinside classes.(真心查不到nestedinside的意思)

     16. using System.Data.Entity.SqlServer;

      

    其他参考链接:

    http://www.infoq.com/cn/news/2013/08/entity-framework-6-rc

    http://www.infoq.com/cn/news/2013/06/EF6-Breaking-Changes

  • 相关阅读:
    字典树入门
    Cyclic Nacklace HDU 3746 KMP 循环节
    KMP字符串匹配 模板 洛谷 P3375
    Phone List POJ-3630 字典树 or 暴力
    stringstream istringstream ostringstream 三者的区别
    单词数 HDU 2072 字符串输入控制
    逆序单词 HIhoCoder 1366 字典树
    input框中修改placeholder的样式
    如何使用$.each()与$().each()以及他们的区别
    css解决input的阴影
  • 原文地址:https://www.cnblogs.com/zeusro/p/EF6.html
Copyright © 2020-2023  润新知