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