zoukankan      html  css  js  c++  java
  • EF6.0 对于数据库优 模式 新加功能

    EF6.0相对于5.0新加了很多功能。先看看两个模式的一些特点。

    数据库优先(设计者)和代码优先两者的特点:

    • 连接弹性
    • 异步查询和保存
    • 基于代码的配置
    • 数据库命令记录
    • 数据库命令截取
    • 依赖决议
    • DbSet.AddRange / RemoveRange
    • 更好的交易支持
    • 可插拔的多元化和单一化服务
    • 可测试性改进
    • 用打开的连接创建上下文
    • 提高性能和预热时间

    Code-First的特点:

    • 自定义约定
    • 插入,更新和删除实体CUD操作的存储过程
    • 索引属性(EF 6.1)
    • 每个数据库多上下文
    • 嵌套的实体类型
    • 自定义迁移操作
    • 可配置的迁移历史记录表

    异步查询和保存:

    有关异步知识:System.Threading.Tasks

    异步简单列子:

     

     

    数据库命令日志记录:

    使用context.database.Log记录EF执行的所有活动。您可以附加任何类的任何方法,它接受一个字符串参数并返回void。

     Context.Database.Log是一个Action <string>所以你可以附加任何具有一个字符串参数和void返回类型的方法。

     

    事务:

    实体框架默认在执行SaveChanges()时将Insert,Update或Delete操作包装在事务中EF为每个操作启动一个新的事务,并在操作完成时完成事务。当你执行另一个这样的操作时,一个新的事务被启动。

    EF 6引入了database.BeginTransactionDatabase.UseTransaction来提供对事务的更多控制。

    DbSet.AddRange&DbSet.RemoveRange:

      EF 6中的DbSet引入了新的AddRange和RemoveRange方法。DbSet.AddRange将实体的集合(IEnumerable)添加到DbContext,可以批量添加和删除了。

  • 相关阅读:
    MVC中CheckBox
    Python中的高级数据结构
    高级正则表达式技术(Python版)
    程序员可以兼任项目经理吗?
    浅谈五大Python Web框架
    学习Python编程的11个资源
    Python 代码性能优化技巧
    python多线程ctrl-c退出问题
    Python 笔记 : 类和继承
    Python的OO思想
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/7920728.html
Copyright © 2011-2022 走看看