zoukankan      html  css  js  c++  java
  • [整理]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

  • 相关阅读:
    1202诗人基本介绍&诗人画像
    1205人物关系优化&诗人轨迹
    把SQL Server 2000 表中的自动编号Id重新开始排列
    一个一直都不明白的东西今天知道了。关于sqlserver2000自动执行。
    服装打版界的扛把子ET自定义操作
    手把手教你搭建集中式版本控制系统SVN服务器
    分享一次实用的爬虫经验
    盘点CSV文件在Excel中打开后乱码问题的两种处理方法
    盘点服装设计所经常性使用的软件ET(下篇)
    sql 每个企业选择一条产品
  • 原文地址:https://www.cnblogs.com/zeusro/p/EF6.html
Copyright © 2011-2022 走看看