• 大叔 EF 来分析 EntityFrameworks.Data.Core 2



    Extensions

    1
    DbCommand拦截器扩展
    DbCommandInterceptorExtensions

    2
    Class for IQuerable extensions methods
     Include method in IQueryable ( base contract for IObjectSet ) is
     intended for mock Include method in ObjectQuery{T}.
     Paginate solve not parametrized queries issues with skip and take L2E methods

    IQueryableExtensions

    3
    ObjectContext扩展方法
    ObjectContextExtensions

    4
    sql函数的扩展类

    SqlFunctionExtensions


     ----------------------------------------------------------------------------
    DbContextRepository<TEntity>

         DbContext上下文仓储功能类,领域上下文可以直接继承它
         生命周期:数据上下文的生命周期为一个HTTP请求的结束
         相关说明:
        /// 1 领域对象使用声明IRepository和IExtensionRepository接口得到不同的操作规范
        /// 2 可以直接为上下注入Action<string>的委托实例,用来记录savechanges产生的异常
        /// 3 可以订阅BeforeSaved和AfterSaved两个事件,用来在方法提交前与提交后实现代码注入
        /// 4 所有领域db上下文都要继承iUnitWork接口,用来实现工作单元,这对于提升程序性能与为重要


    DbContextRepository<TEntity>

    继承:  IExtensionRepository<TEntity>

    约束 where TEntity : class

    -------------------------------------------------------------------
    MemorySet<TEntity>

      /// In memory IObjectSet. This class is intended only
        /// for testing purposes.
    继承  IObjectSet<TEntity>
    约束 where TEntity : class
    -------------------------------------------------------------------


    MockRepository<TEntity>
    模拟测试数据上下文,它的生命周期为一个调试上下文的结束
    继承 IExtensionRepository<TEntity> 扩展的Repository操作规范


    -------------------------------------------------------------------

    ObjectContextRepository<T>

     /// EF ORM 操作功能类
     /// 它不是抽象类,它在基础设施层会以基类或者功能对象的方式出现

    继承 IExtensionRepository<TEntity>  扩展的Repository操作规范

  • 相关阅读:
    存储器管理
    进程与线程
    进程间通信 IPC(Inter-Process Communication)
    进程的同步与互斥
    【bzoj4806~bzoj4808】炮车马后——象棋四连击
    【bzoj1013】[JSOI2008]球形空间产生器sphere
    【bzoj5427】最长上升子序列(贪心+LIS)
    NOIP2018没有什么新闻
    【bzoj3170】[Tjoi2013]松鼠聚会(数学题)
    【bzoj5170】Fable(树状数组)
  • 原文地址:https://www.cnblogs.com/ganmk--jy/p/5370141.html
Copyright © 2020-2023  润新知