//
    // 摘要:
    //     This interface is implemented by all repositories to ensure implementation of
    //     fixed methods.
    //    **实现这一接口以确保使用存储库中的方法
    // 类型参数:
    //   TEntity:
    //     Main Entity type this repository works on
    //      **实体类
    //   TPrimaryKey:
    //     Primary key type of the entity

//     **实体类的主键类型
    public interface IRepository<TEntity, TPrimaryKey> : IRepository, ITransientDependency where TEntity : class, IEntity<TPrimaryKey>
    {

    //
        // 摘要:
        //     Gets count of all entities in this repository.
        //
        // 返回结果:
        //     Count of entities
        int Count();

  //
        // 摘要:
        //     Gets count of all entities in this repository based on given predicate.
        //   **基于委托方法条件来获取实体个数
        // 参数:
        //   predicate:
        //     A method to filter count
        //   过滤的方法
        // 返回结果:
        //     Count of entities
        int Count(Expression<Func<TEntity, bool>> predicate);

  //
        // 摘要:
        //     Gets count of all entities in this repository.
        //
        // 返回结果:
        //     Count of entities
        Task<int> CountAsync();

  // 摘要:
        //     Gets count of all entities in this repository based on given predicate.
        //
        // 参数:
        //   predicate:
        //     A method to filter count
        //
        // 返回结果:
        //     Count of entities
        Task<int> CountAsync(Expression<Func<TEntity, bool>> predicate);

  // 摘要:
        //     Deletes an entity.
        //
        // 参数:
        //   entity:
        //     Entity to be deleted
        void Delete(TEntity entity);

  // 摘要:
        //     Deletes an entity by primary key.
        //
        // 参数:
        //   id:
        //     Primary key of the entity
        void Delete(TPrimaryKey id);

  

  // 摘要:
        //     Deletes many entities by function. Notice that: All entities fits to given predicate
        //     are retrieved and deleted. This may cause major performance problems if there
        //     are too many entities with given predicate.
        //    ***通过传递的表达式树来删除多个实体,注意:如果有委托中有太多的实体,有可能引发重大的性能问题
        // 参数:
        //   predicate:
        //     A condition to filter entities

  //**过滤实体的条件
        void Delete(Expression<Func<TEntity, bool>> predicate);

   // 摘要:
        //     Deletes an entity by primary key.
        //
        // 参数:
        //   id:
        //     Primary key of the entity
        Task DeleteAsync(TPrimaryKey id);

  // 摘要:
        //     Deletes many entities by function. Notice that: All entities fits to given predicate
        //     are retrieved and deleted. This may cause major performance problems if there
        //     are too many entities with given predicate.
        //
        // 参数:
        //   predicate:
        //     A condition to filter entities
        Task DeleteAsync(Expression<Func<TEntity, bool>> predicate);

  

   // 摘要:
        //     Deletes an entity.
        //
        // 参数:
        //   entity:
        //     Entity to be deleted
        Task DeleteAsync(TEntity entity);

   // 摘要:
        //     Gets an entity with given given predicate or null if not found.
        //    **根据条件来查找实体,如果找不到则返回null
        // 参数:
        //   predicate:
        //     Predicate to filter entities
        TEntity FirstOrDefault(Expression<Func<TEntity, bool>> predicate);

  

  // 摘要:
        //     Gets an entity with given primary key or null if not found.
        //  **通过主键来获取实体类,找不到则返回null
        // 参数:
        //   id:
        //     Primary key of the entity to get
        //
        // 返回结果:
        //     Entity or null
        TEntity FirstOrDefault(TPrimaryKey id);

   // 摘要:
        //     Gets an entity with given given predicate or null if not found.
        //
        // 参数:
        //   predicate:
        //     Predicate to filter entities
        Task<TEntity> FirstOrDefaultAsync(Expression<Func<TEntity, bool>> predicate);

   // 摘要:
        //     Gets an entity with given primary key or null if not found.
        //
        // 参数:
        //   id:
        //     Primary key of the entity to get
        //
        // 返回结果:
        //     Entity or null
        Task<TEntity> FirstOrDefaultAsync(TPrimaryKey id);

  

  // 摘要:
        //     Gets an entity with given primary key.
        //
        // 参数:
        //   id:
        //     Primary key of the entity to get
        //
        // 返回结果:
        //     Entity
        TEntity Get(TPrimaryKey id);

  // 摘要:
        //     Used to get a IQueryable that is used to retrieve entities from entire table.
        //
        // 返回结果:
        //     IQueryable to be used to select entities from database
        IQueryable<TEntity> GetAll();

  

   // 摘要:
        //     Used to get a IQueryable that is used to retrieve entities from entire table.
        //     One or more
        //
        // 参数:
        //   propertySelectors:
        //     A list of include expressions.
        //
        // 返回结果:
        //     IQueryable to be used to select entities from database
        IQueryable<TEntity> GetAllIncluding(params Expression<Func<TEntity, object>>[] propertySelectors);

   // 摘要:
        //     Used to get all entities.
        //
        // 返回结果:
        //     List of all entities
        List<TEntity> GetAllList();

  // 摘要:
        //     Used to get all entities based on given predicate.
        //
        // 参数:
        //   predicate:
        //     A condition to filter entities
        //
        // 返回结果:
        //     List of all entities
        List<TEntity> GetAllList(Expression<Func<TEntity, bool>> predicate);

  // 摘要:
        //     Used to get all entities.
        //
        // 返回结果:
        //     List of all entities
        Task<List<TEntity>> GetAllListAsync();

  // 摘要:
        //     Used to get all entities based on given predicate.
        //
        // 参数:
        //   predicate:
        //     A condition to filter entities
        //
        // 返回结果:
        //     List of all entities
        Task<List<TEntity>> GetAllListAsync(Expression<Func<TEntity, bool>> predicate);

   // 摘要:
        //     Gets an entity with given primary key.
        //
        // 参数:
        //   id:
        //     Primary key of the entity to get
        //
        // 返回结果:
        //     Entity
        Task<TEntity> GetAsync(TPrimaryKey id);

   // 摘要:
        //     Inserts a new entity.
        //
        // 参数:
        //   entity:
        //     Inserted entity
        TEntity Insert(TEntity entity);

   // 摘要:
        //     Inserts a new entity and gets it's Id. It may require to save current unit of
        //     work to be able to retrieve id.
        //    **插入一个实体返回其Id,
        // 参数:
        //   entity:
        //     Entity
        //
        // 返回结果:
        //     Id of the entity
        TPrimaryKey InsertAndGetId(TEntity entity);

  // 摘要:
        //     Inserts a new entity and gets it's Id. It may require to save current unit of
        //     work to be able to retrieve id.
        //
        // 参数:
        //   entity:
        //     Entity
        //
        // 返回结果:
        //     Id of the entity
        Task<TPrimaryKey> InsertAndGetIdAsync(TEntity entity);

  // 摘要:
        //     Inserts a new entity.
        //
        // 参数:
        //   entity:
        //     Inserted entity
        Task<TEntity> InsertAsync(TEntity entity);

   // 摘要:
        //     Inserts or updates given entity depending on Id's value.
        //
        // 参数:
        //   entity:
        //     Entity
        TEntity InsertOrUpdate(TEntity entity);

  // 摘要:
        //     Inserts or updates given entity depending on Id's value. Also returns Id of the
        //     entity. It may require to save current unit of work to be able to retrieve id.
        //
        // 参数:
        //   entity:
        //     Entity
        //
        // 返回结果:
        //     Id of the entity
        TPrimaryKey InsertOrUpdateAndGetId(TEntity entity);

  // 摘要:
        //     Inserts or updates given entity depending on Id's value. Also returns Id of the
        //     entity. It may require to save current unit of work to be able to retrieve id.
        //
        // 参数:
        //   entity:
        //     Entity
        //
        // 返回结果:
        //     Id of the entity
        Task<TPrimaryKey> InsertOrUpdateAndGetIdAsync(TEntity entity);

  // 摘要:
        //     Inserts or updates given entity depending on Id's value.
        //
        // 参数:
        //   entity:
        //     Entity
        Task<TEntity> InsertOrUpdateAsync(TEntity entity);

  // 摘要:
        //     Creates an entity with given primary key without database access.
        //     **为实体创建一个主键,此主键不是数据库生成的
        // 参数:
        //   id:
        //     Primary key of the entity to load
        //
        // 返回结果:
        //     Entity
        TEntity Load(TPrimaryKey id);

  // 摘要:
        //     Gets count of all entities in this repository (use if expected return value is
        //     greather than System.Int32.MaxValue.
        //
        // 返回结果:
        //     Count of entities
        long LongCount();

  // 摘要:

   //     Gets count of all entities in this repository based on given predicate (use this
        //     overload if expected return value is greather than System.Int32.MaxValue).
        //
        // 参数:
        //   predicate:
        //     A method to filter count
        //
        // 返回结果:
        //     Count of entities
        long LongCount(Expression<Func<TEntity, bool>> predicate);

  // 摘要:
        //     Gets count of all entities in this repository (use if expected return value is
        //     greather than System.Int32.MaxValue.
        //
        // 返回结果:
        //     Count of entities
        Task<long> LongCountAsync();

  // 摘要:
        //     Gets count of all entities in this repository based on given predicate (use this
        //     overload if expected return value is greather than System.Int32.MaxValue).
        //
        // 参数:
        //   predicate:
        //     A method to filter count
        //
        // 返回结果:
        //     Count of entities
        Task<long> LongCountAsync(Expression<Func<TEntity, bool>> predicate);

  // 摘要:
        //     Used to run a query over entire entities. Abp.Domain.Uow.UnitOfWorkAttribute
        //     attribute is not always necessary (as opposite to Abp.Domain.Repositories.IRepository`2.GetAll)
        //     if queryMethod finishes IQueryable with ToList, FirstOrDefault etc..
        // 
        // 参数:
        //   queryMethod:
        //     This method is used to query over entities
        //
        // 类型参数:
        //   T:
        //     Type of return value of this method
        //
        // 返回结果:
        //     Query result
        T Query<T>(Func<IQueryable<TEntity>, T> queryMethod);

   // 摘要:
        //     Gets exactly one entity with given predicate. Throws exception if no entity or
        //     more than one entity.
        //  得到仅有的一个查询出的实体,如果没有该实体或者多余一个将会抛出异常
        // 参数:
        //   predicate:
        //     Entity
        TEntity Single(Expression<Func<TEntity, bool>> predicate);

  / 摘要:
        //     Gets exactly one entity with given predicate. Throws exception if no entity or
        //     more than one entity.
        //
        // 参数:
        //   predicate:
        //     Entity
        Task<TEntity> SingleAsync(Expression<Func<TEntity, bool>> predicate);

  // 摘要:
        //     Updates an existing entity.
        //
        // 参数:
        //   entity:
        //     Entity
        TEntity Update(TEntity entity);

   // 摘要:
        //     Updates an existing entity.
        //
        // 参数:
        //   id:
        //     Id of the entity
        //
        //   updateAction:
        //     Action that can be used to change values of the entity
        //
        // 返回结果:
        //     Updated entity
        TEntity Update(TPrimaryKey id, Action<TEntity> updateAction);

  // 摘要:
        //     Updates an existing entity.
        //
        // 参数:
        //   entity:
        //     Entity
        Task<TEntity> UpdateAsync(TEntity entity);

  // 摘要:
        //     Updates an existing entity.
        //
        // 参数:
        //   id:
        //     Id of the entity
        //
        //   updateAction:
        //     Action that can be used to change values of the entity
        //
        // 返回结果:
        //     Updated entity
        Task<TEntity> UpdateAsync(TPrimaryKey id, Func<TEntity, Task> updateAction);

}

Abp IRepository 方法解释(1)的更多相关文章

  1. Info.plist和pch文件的作用,UIApplication,iOS程序的启动过程,AppDelegate 方法解释,UIWindow,生命周期方法

    Info.plist常见的设置 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 注:在旧 ...

  2. es6的map()方法解释

    es6的map()方法解释   map方法的作用不难理解,即“映射”,也就是原数组被“映射”成对应新数组.下面这个例子是数值项求平方: var data = [1, 2, 3, 4]; var arr ...

  3. vue第六单元(vue的实例和组件-vue实例的相关属性和方法-解释vue的原理-创建vue的组件)

    第六单元(vue的实例和组件-vue实例的相关属性和方法-解释vue的原理-创建vue的组件) #课程目标 掌握vue实例的相关属性和方法的含义和使用 了解vue的数据响应原理 熟悉创建组件,了解全局 ...

  4. Python __new__ 方法解释与使用

    解释 我们通常把 __init__ 称为构造方法,这是从其他语言借鉴过来的术语. 其实,用于构建实例的是特殊方法 __new__:这是个类方法(使用特殊方式处理,因此不必使用 @classmethod ...

  5. java url方法解释

    java 的url类中有很多get方法 以下是获取值的意义 // 首先先看一下wikipedia上关于url的一个描述 //Every HTTP URL conforms to the syntax ...

  6. python thread的join方法解释

    python的Thread类中提供了join()方法,使得一个线程可以等待另一个线程执行结束后再继续运行.这个方法还可以设定一个timeout参数,避免无休止的等待.因为两个线程顺序完成,看起来象一个 ...

  7. cocos2d-lua class 方法解释

    lua中没有类的概念,有的只是表(table),而类之间的继承也就是将父类的表连到了一起,派生类中没有找到的属性和方法就通过元表查找父类,在cocos2d-lua中,封装好的class方法,完美的实现 ...

  8. 关于android WebViewClient的方法解释

    1.public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true ...

  9. android WebViewClient的方法解释

    1.在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边. public boolean shouldOverrideUrlLo ...

随机推荐

  1. WCF- 契约Contract(ServiceContract、OperationContract、DataContract、ServiceKnownType和DataMember)(转)

    示例 1.服务 IPersonManager.cs using System; using System.Collections.Generic; using System.Linq; using S ...

  2. cget cmake 包管理工具

    cget 是一个方便的进行cmake 包下载以及安装的工具 包含的特性 非侵入,无需编写特殊钩子就可以使用cmake 开箱即用, 由于使用了标准的基于cmake的方式,直接可以使用基于cmkae 的软 ...

  3. Singer 学习九 运行&&开发taps、targets (四 开发target)

    singer 的target 需要从stdin 的行数据,同时处理schema.record.state 消息 指南 schema 需要进行关联stream records 数据的校验 一旦Targe ...

  4. super and this

    super 指向父类的一个指针, 引用父类中的属性,方法或者构造函数 public class Father { String name ; Father(String myName){ name = ...

  5. Java单播、广播、多播(组播)---转

    一.通信方式分类 在当前的网络通信中有三种通信模式:单播.广播和多播(组播),其中多播出现时间最晚,同时具备单播和广播的优点. 单播:单台主机与单台主机之间的通信 广播:当台主机与网络中的所有主机通信 ...

  6. node api 之:Buffer

    在 ECMAScript 2015 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制. Buffer 类被引入作为 Node.js API 的一部分,使其可 ...

  7. 使用 localeCompare 函数对中文进行排序

    localeCompare 函数可对中文进行排序. 性能相关 当比较大量字符串时, 比如比较大量数组时, 最好创建一个Intl.Collator 对象并使用compare 属性所提供的函数. mdn介 ...

  8. jmeter --响应断言详解

    jmeter --响应断言详解 响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-samp ...

  9. ASP.NET AJAX入门系列(1):概述

    经常关注我的Blog的朋友可能注意到了,在我Blog的左边系列文章中,已经移除了对Atlas学习手记系列文章的推荐,因为随着ASP.NET AJAX 1.0 Beta版的发布,它们已经不再适用,为了不 ...

  10. [MySQL FAQ]系列 — processlist中哪些状态要引起关注 解决mysql cpu过高问题

    show processlist; 一般而言,我们在processlist结果中如果经常能看到某些SQL的话,至少可以说明这些SQL的频率很高,通常需要对这些SQL进行进一步优化. 今天我们要说的是, ...