Table of Contents

Interface IRepository<TEntity>

Namespace
Biwen.QuickApi.UnitOfWork
Assembly
Biwen.QuickApi.dll

EfCore的泛型仓储接口

public interface IRepository<TEntity> where TEntity : class

Type Parameters

TEntity

实体类型

Extension Methods

Methods

Average(Expression<Func<TEntity, decimal>>, Expression<Func<TEntity, bool>>?)

根据条件获取平均值

decimal Average(Expression<Func<TEntity, decimal>> selector, Expression<Func<TEntity, bool>>? predicate = null)

Parameters

selector Expression<Func<TEntity, decimal>>

选择器表达式

predicate Expression<Func<TEntity, bool>>

条件表达式

Returns

decimal

平均值

AverageAsync(Expression<Func<TEntity, decimal>>, Expression<Func<TEntity, bool>>?, CancellationToken)

异步根据条件获取平均值

Task<decimal> AverageAsync(Expression<Func<TEntity, decimal>> selector, Expression<Func<TEntity, bool>>? predicate = null, CancellationToken cancellationToken = default)

Parameters

selector Expression<Func<TEntity, decimal>>

选择器表达式

predicate Expression<Func<TEntity, bool>>

条件表达式

cancellationToken CancellationToken

取消令牌

Returns

Task<decimal>

平均值

ChangeEntityState(TEntity, EntityState)

为Web API的PATCH方法更改实体状态

void ChangeEntityState(TEntity entity, EntityState state)

Parameters

entity TEntity

实体

state EntityState

实体状态

ChangeTable(string)

更改表名。这要求表位于同一数据库中。

void ChangeTable(string table)

Parameters

table string

表名

Remarks

这仅用于支持同一模型中的多个表。这要求表位于同一数据库中。

Count(Expression<Func<TEntity, bool>>?)

根据条件获取记录数量

int Count(Expression<Func<TEntity, bool>>? predicate = null)

Parameters

predicate Expression<Func<TEntity, bool>>

条件表达式

Returns

int

记录数量

CountAsync(Expression<Func<TEntity, bool>>?, CancellationToken)

异步根据条件获取记录数量

Task<int> CountAsync(Expression<Func<TEntity, bool>>? predicate = null, CancellationToken cancellationToken = default)

Parameters

predicate Expression<Func<TEntity, bool>>

条件表达式

cancellationToken CancellationToken

取消令牌

Returns

Task<int>

记录数量

Delete(IEnumerable<TEntity>)

删除多个指定实体

void Delete(IEnumerable<TEntity> entities)

Parameters

entities IEnumerable<TEntity>

要删除的实体集合

Delete(object)

根据主键删除实体

void Delete(object id)

Parameters

id object

主键值

Delete(TEntity)

删除指定实体

void Delete(TEntity entity)

Parameters

entity TEntity

要删除的实体

Delete(params TEntity[])

删除多个指定实体

void Delete(params TEntity[] entities)

Parameters

entities TEntity[]

要删除的实体数组

ExecuteDelete()

批量删除符合LINQ查询的所有数据库行

int ExecuteDelete()

Returns

int

数据库中删除的总行数

Remarks

此操作立即针对数据库执行,而不是等到调用 SaveChanges() 时才执行。 它也不会以任何方式与EF变更跟踪器交互:调用此操作时正在跟踪的实体实例不会被考虑,也不会更新以反映更改。

有关更多信息和示例,请参阅 使用EF Core执行批量操作

ExecuteDeleteAsync(CancellationToken)

异步批量删除符合LINQ查询的所有数据库行

Task<int> ExecuteDeleteAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

用于观察任务完成的 CancellationToken

Returns

Task<int>

数据库中删除的总行数

Remarks

此操作立即针对数据库执行,而不是等到调用 SaveChanges() 时才执行。 它也不会以任何方式与EF变更跟踪器交互:调用此操作时正在跟踪的实体实例不会被考虑,也不会更新以反映更改。

有关更多信息和示例,请参阅 使用EF Core执行批量操作

ExecuteUpdate(Expression<Func<SetPropertyCalls<TEntity>, SetPropertyCalls<TEntity>>>)

批量更新符合LINQ查询的数据库行

int ExecuteUpdate(Expression<Func<SetPropertyCalls<TEntity>, SetPropertyCalls<TEntity>>> predicate)

Parameters

predicate Expression<Func<SetPropertyCalls<TEntity>, SetPropertyCalls<TEntity>>>

属性更新表达式

Returns

int

数据库中更新的总行数

Remarks

此操作立即针对数据库执行,而不是等到调用 SaveChanges() 时才执行。 它也不会以任何方式与EF变更跟踪器交互:调用此操作时正在跟踪的实体实例不会被考虑,也不会更新以反映更改。

有关更多信息和示例,请参阅 使用EF Core执行批量操作

ExecuteUpdateAsync(Expression<Func<SetPropertyCalls<TEntity>, SetPropertyCalls<TEntity>>>, CancellationToken)

异步批量更新符合LINQ查询的数据库行

Task<int> ExecuteUpdateAsync(Expression<Func<SetPropertyCalls<TEntity>, SetPropertyCalls<TEntity>>> predicate, CancellationToken cancellationToken)

Parameters

predicate Expression<Func<SetPropertyCalls<TEntity>, SetPropertyCalls<TEntity>>>

属性更新表达式

cancellationToken CancellationToken

用于观察任务完成的 CancellationToken

Returns

Task<int>

数据库中更新的总行数

Remarks

此操作立即针对数据库执行,而不是等到调用 SaveChanges() 时才执行。 它也不会以任何方式与EF变更跟踪器交互:调用此操作时正在跟踪的实体实例不会被考虑,也不会更新以反映更改。

有关更多信息和示例,请参阅 使用EF Core执行批量操作

Exists(Expression<Func<TEntity, bool>>?)

根据条件判断记录是否存在

bool Exists(Expression<Func<TEntity, bool>>? predicate = null)

Parameters

predicate Expression<Func<TEntity, bool>>

条件表达式

Returns

bool

如果存在则返回true,否则返回false

ExistsAsync(Expression<Func<TEntity, bool>>?, CancellationToken)

异步根据条件判断记录是否存在

Task<bool> ExistsAsync(Expression<Func<TEntity, bool>>? selector = null, CancellationToken cancellationToken = default)

Parameters

selector Expression<Func<TEntity, bool>>

条件表达式

cancellationToken CancellationToken

取消令牌

Returns

Task<bool>

如果存在则返回true,否则返回false

Find(params object[])

使用给定的主键值查找实体。如果找到,则将其附加到上下文并返回。如果未找到任何实体,则返回 null。

TEntity? Find(params object[] keyValues)

Parameters

keyValues object[]

要查找的实体的主键值

Returns

TEntity

找到的实体,如果未找到则返回 null

FindAsync(params object[])

异步使用给定的主键值查找实体。如果找到,则将其附加到上下文并返回。如果未找到任何实体,则返回 null。

ValueTask<TEntity?> FindAsync(params object[] keyValues)

Parameters

keyValues object[]

要查找的实体的主键值

Returns

ValueTask<TEntity>

表示异步查找操作的任务,任务结果包含找到的实体,如果未找到则为 null

FindAsync(object[], CancellationToken)

异步使用给定的主键值查找实体。如果找到,则将其附加到上下文并返回。如果未找到任何实体,则返回 null。

ValueTask<TEntity?> FindAsync(object[] keyValues, CancellationToken cancellationToken)

Parameters

keyValues object[]

要查找的实体的主键值

cancellationToken CancellationToken

用于观察任务完成的 CancellationToken

Returns

ValueTask<TEntity>

表示异步查找操作的任务,任务结果包含找到的实体,如果未找到则为 null

FromSql(string, params object[])

使用原始SQL查询获取指定实体类型的数据

IQueryable<TEntity> FromSql(string sql, params object[] parameters)

Parameters

sql string

原始SQL语句

parameters object[]

参数

Returns

IQueryable<TEntity>

包含满足原始SQL指定条件的元素的 IQueryable<T> 对象

GetAll(bool)

获取所有实体。不推荐使用此方法

IQueryable<TEntity> GetAll(bool disableTracking = true)

Parameters

disableTracking bool

是否禁用更改跟踪,默认为 true

Returns

IQueryable<TEntity>

IQueryable<T> 类型的结果

GetAll(Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, bool, bool, bool)

根据条件获取所有实体。不推荐使用此方法

IQueryable<TEntity> GetAll(Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false)

Parameters

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

Returns

IQueryable<TEntity>

满足条件的查询结果

Remarks

此方法默认为只读、非跟踪查询

GetAllAsync(bool)

异步获取所有实体。不推荐使用此方法

Task<IList<TEntity>> GetAllAsync(bool disableTracking = true)

Parameters

disableTracking bool

是否禁用更改跟踪,默认为 true

Returns

Task<IList<TEntity>>

实体列表集合

GetAllAsync(Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, bool, bool, bool)

异步根据条件获取所有实体。不推荐使用此方法

Task<IList<TEntity>> GetAllAsync(Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false)

Parameters

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

Returns

Task<IList<TEntity>>

满足条件的实体列表集合

Remarks

此方法默认为只读、非跟踪查询

GetAllAsync<TResult>(Expression<Func<TEntity, TResult>>, bool)

异步获取所有投影后的实体。不推荐使用此方法

Task<IList<TResult>> GetAllAsync<TResult>(Expression<Func<TEntity, TResult>> selector, bool disableTracking = true)

Parameters

selector Expression<Func<TEntity, TResult>>

用于投影的选择器

disableTracking bool

是否禁用更改跟踪,默认为 true

Returns

Task<IList<TResult>>

投影后的实体列表集合

Type Parameters

TResult

GetAllAsync<TResult>(Expression<Func<TEntity, TResult>>, Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, bool, bool, bool)

异步根据条件获取所有投影后的实体。不推荐使用此方法

Task<IList<TResult>> GetAllAsync<TResult>(Expression<Func<TEntity, TResult>> selector, Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false)

Parameters

selector Expression<Func<TEntity, TResult>>

用于投影的选择器

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

Returns

Task<IList<TResult>>

满足条件的投影后实体列表集合

Type Parameters

TResult

Remarks

此方法默认为只读、非跟踪查询

GetAll<TResult>(Expression<Func<TEntity, TResult>>, bool)

获取所有投影后的实体。不推荐使用此方法

IQueryable<TResult> GetAll<TResult>(Expression<Func<TEntity, TResult>> selector, bool disableTracking = true)

Parameters

selector Expression<Func<TEntity, TResult>>

用于投影的选择器

disableTracking bool

是否禁用更改跟踪,默认为 true

Returns

IQueryable<TResult>

IQueryable<T> 类型的结果

Type Parameters

TResult

GetAll<TResult>(Expression<Func<TEntity, TResult>>, Expression<Func<TEntity, bool>>?, bool)

根据条件获取所有投影后的实体。不推荐使用此方法

IQueryable<TResult> GetAll<TResult>(Expression<Func<TEntity, TResult>> selector, Expression<Func<TEntity, bool>>? predicate = null, bool disableTracking = true)

Parameters

selector Expression<Func<TEntity, TResult>>

用于投影的选择器

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

disableTracking bool

是否禁用更改跟踪,默认为 true

Returns

IQueryable<TResult>

IQueryable<T> 类型的结果

Type Parameters

TResult

GetAll<TResult>(Expression<Func<TEntity, TResult>>, Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, bool, bool, bool)

根据条件获取所有投影后的实体。不推荐使用此方法

IQueryable<TResult> GetAll<TResult>(Expression<Func<TEntity, TResult>> selector, Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false)

Parameters

selector Expression<Func<TEntity, TResult>>

用于投影的选择器

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

Returns

IQueryable<TResult>

满足条件的查询结果

Type Parameters

TResult

Remarks

此方法默认为只读、非跟踪查询

GetFirstOrDefault(Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, bool, bool, bool)

根据条件表达式、排序方式和导航属性包含获取第一个或默认实体。此方法默认为只读、非跟踪查询。

TEntity? GetFirstOrDefault(Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false)

Parameters

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

Returns

TEntity

满足条件的第一个元素,如果没有则返回默认值

Remarks

此方法默认为只读、非跟踪查询

GetFirstOrDefaultAsync(Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, bool, bool, bool)

异步根据条件表达式、排序方式和导航属性包含获取第一个或默认实体。此方法默认为只读、非跟踪查询。

Task<TEntity?> GetFirstOrDefaultAsync(Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false)

Parameters

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

Returns

Task<TEntity>

表示异步操作的任务,返回满足条件的第一个元素,如果没有则返回默认值

Remarks

此方法默认为只读、非跟踪查询

GetFirstOrDefault<TResult>(Expression<Func<TEntity, TResult>>, Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, bool, bool, bool)

根据条件表达式、排序方式和导航属性包含获取投影后的第一个或默认实体。此方法默认为只读、非跟踪查询。

TResult? GetFirstOrDefault<TResult>(Expression<Func<TEntity, TResult>> selector, Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false)

Parameters

selector Expression<Func<TEntity, TResult>>

用于投影的选择器

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

Returns

TResult

满足条件的第一个投影元素,如果没有则返回默认值

Type Parameters

TResult

Remarks

此方法默认为只读、非跟踪查询

GetPagedList(Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, int, int, bool, bool, bool)

根据条件表达式、排序方式和分页信息获取 IPagedList<T> 结果集。此方法默认禁用实体跟踪。

IPagedList<TEntity> GetPagedList(Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, int pageIndex = 0, int pageSize = 20, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false)

Parameters

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

pageIndex int

页索引,从0开始

pageSize int

每页大小

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

Returns

IPagedList<TEntity>

包含满足 predicate 指定条件的元素的 IPagedList<T> 实例

Remarks

此方法默认禁用实体跟踪查询

GetPagedListAsync(Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, int, int, bool, bool, bool, CancellationToken)

分页查询 IPagedList<T>

Task<IPagedList<TEntity>> GetPagedListAsync(Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, int pageIndex = 0, int pageSize = 20, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false, CancellationToken cancellationToken = default)

Parameters

predicate Expression<Func<TEntity, bool>>

条件表达式

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

排序表达式

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

包含表达式

pageIndex int

页码 默认:0,表示第一页

pageSize int

分页尺寸 默认:20

disableTracking bool

是否禁用追踪,默认:True

ignoreQueryFilters bool

是否忽略查询Filter,默认:False

ignoreAutoIncludes bool

是否忽略自动Includes,默认:False

cancellationToken CancellationToken

用于观察任务完成的 CancellationToken

Returns

Task<IPagedList<TEntity>>

包含满足 predicate 指定条件的元素的 IPagedList<T> 实例

Remarks

请注意当前方法 默认禁止了EntityTracking

GetPagedListAsync<TResult>(Expression<Func<TEntity, TResult>>, Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, int, int, bool, bool, bool, CancellationToken)

异步根据条件表达式、排序方式和分页信息获取投影后的 IPagedList<T> 结果集。此方法默认禁用实体跟踪。

Task<IPagedList<TResult>> GetPagedListAsync<TResult>(Expression<Func<TEntity, TResult>> selector, Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, int pageIndex = 0, int pageSize = 20, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false, CancellationToken cancellationToken = default) where TResult : class

Parameters

selector Expression<Func<TEntity, TResult>>

用于投影的选择器

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

pageIndex int

页索引,从0开始

pageSize int

每页大小

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

cancellationToken CancellationToken

用于观察任务完成的 CancellationToken

Returns

Task<IPagedList<TResult>>

包含满足 predicate 指定条件的元素的 IPagedList<T> 实例

Type Parameters

TResult

Remarks

此方法默认禁用实体跟踪查询

GetPagedList<TResult>(Expression<Func<TEntity, TResult>>, Expression<Func<TEntity, bool>>?, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>?, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>?, int, int, bool, bool, bool)

根据条件表达式、排序方式和分页信息获取投影后的 IPagedList<T> 结果集。此方法默认禁用实体跟踪。

IPagedList<TResult> GetPagedList<TResult>(Expression<Func<TEntity, TResult>> selector, Expression<Func<TEntity, bool>>? predicate = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null, Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null, int pageIndex = 0, int pageSize = 20, bool disableTracking = true, bool ignoreQueryFilters = false, bool ignoreAutoIncludes = false) where TResult : class

Parameters

selector Expression<Func<TEntity, TResult>>

用于投影的选择器

predicate Expression<Func<TEntity, bool>>

用于测试每个元素是否满足条件的函数

orderBy Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>

用于排序元素的函数

include Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>

用于包含导航属性的函数

pageIndex int

页索引,从0开始

pageSize int

每页大小

disableTracking bool

是否禁用更改跟踪,默认为 true

ignoreQueryFilters bool

是否忽略查询筛选器

ignoreAutoIncludes bool

是否忽略自动包含

Returns

IPagedList<TResult>

包含满足 predicate 指定条件的元素的 IPagedList<T> 实例

Type Parameters

TResult

Remarks

此方法默认禁用实体跟踪查询

Insert(IEnumerable<TEntity>)

同步插入多个实体

void Insert(IEnumerable<TEntity> entities)

Parameters

entities IEnumerable<TEntity>

要插入的实体集合

Insert(TEntity)

同步插入新实体

TEntity Insert(TEntity entity)

Parameters

entity TEntity

要插入的实体

Returns

TEntity

插入后的实体

Insert(params TEntity[])

同步插入多个实体

void Insert(params TEntity[] entities)

Parameters

entities TEntity[]

要插入的实体数组

InsertAsync(IEnumerable<TEntity>, CancellationToken)

异步插入多个实体

Task InsertAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default)

Parameters

entities IEnumerable<TEntity>

要插入的实体集合

cancellationToken CancellationToken

用于观察任务完成的 CancellationToken

Returns

Task

表示异步插入操作的任务

InsertAsync(TEntity, CancellationToken)

异步插入新实体

ValueTask<EntityEntry<TEntity>> InsertAsync(TEntity entity, CancellationToken cancellationToken = default)

Parameters

entity TEntity

要插入的实体

cancellationToken CancellationToken

用于观察任务完成的 CancellationToken

Returns

ValueTask<EntityEntry<TEntity>>

表示异步插入操作的任务

InsertAsync(params TEntity[])

异步插入多个实体

Task InsertAsync(params TEntity[] entities)

Parameters

entities TEntity[]

要插入的实体数组

Returns

Task

表示异步插入操作的任务

LongCount(Expression<Func<TEntity, bool>>?)

根据条件获取长整型记录数量

long LongCount(Expression<Func<TEntity, bool>>? predicate = null)

Parameters

predicate Expression<Func<TEntity, bool>>

条件表达式

Returns

long

记录数量

LongCountAsync(Expression<Func<TEntity, bool>>?, CancellationToken)

异步根据条件获取长整型记录数量

Task<long> LongCountAsync(Expression<Func<TEntity, bool>>? predicate = null, CancellationToken cancellationToken = default)

Parameters

predicate Expression<Func<TEntity, bool>>

条件表达式

cancellationToken CancellationToken

取消令牌

Returns

Task<long>

记录数量

MaxAsync<T>(Expression<Func<TEntity, T>>, Expression<Func<TEntity, bool>>?, CancellationToken)

异步根据条件获取最大值

Task<T> MaxAsync<T>(Expression<Func<TEntity, T>> selector, Expression<Func<TEntity, bool>>? predicate = null, CancellationToken cancellationToken = default)

Parameters

selector Expression<Func<TEntity, T>>

选择器表达式

predicate Expression<Func<TEntity, bool>>

条件表达式

cancellationToken CancellationToken

取消令牌

Returns

Task<T>

最大值

Type Parameters

T

Max<T>(Expression<Func<TEntity, T>>, Expression<Func<TEntity, bool>>?)

根据条件获取最大值

T? Max<T>(Expression<Func<TEntity, T>> selector, Expression<Func<TEntity, bool>>? predicate = null)

Parameters

selector Expression<Func<TEntity, T>>

选择器表达式

predicate Expression<Func<TEntity, bool>>

条件表达式

Returns

T

最大值

Type Parameters

T

MinAsync<T>(Expression<Func<TEntity, T>>, Expression<Func<TEntity, bool>>?, CancellationToken)

异步根据条件获取最小值

Task<T> MinAsync<T>(Expression<Func<TEntity, T>> selector, Expression<Func<TEntity, bool>>? predicate = null, CancellationToken cancellationToken = default)

Parameters

selector Expression<Func<TEntity, T>>

选择器表达式

predicate Expression<Func<TEntity, bool>>

条件表达式

cancellationToken CancellationToken

取消令牌

Returns

Task<T>

最小值

Type Parameters

T

Min<T>(Expression<Func<TEntity, T>>, Expression<Func<TEntity, bool>>?)

根据条件获取最小值

T? Min<T>(Expression<Func<TEntity, T>> selector, Expression<Func<TEntity, bool>>? predicate = null)

Parameters

selector Expression<Func<TEntity, T>>

选择器表达式

predicate Expression<Func<TEntity, bool>>

条件表达式

Returns

T

最小值

Type Parameters

T

Sum(Expression<Func<TEntity, decimal>>, Expression<Func<TEntity, bool>>?)

根据条件获取求和值

decimal Sum(Expression<Func<TEntity, decimal>> selector, Expression<Func<TEntity, bool>>? predicate = null)

Parameters

selector Expression<Func<TEntity, decimal>>

选择器表达式

predicate Expression<Func<TEntity, bool>>

条件表达式

Returns

decimal

求和值

SumAsync(Expression<Func<TEntity, decimal>>, Expression<Func<TEntity, bool>>?, CancellationToken)

异步根据条件获取求和值

Task<decimal> SumAsync(Expression<Func<TEntity, decimal>> selector, Expression<Func<TEntity, bool>>? predicate = null, CancellationToken cancellationToken = default)

Parameters

selector Expression<Func<TEntity, decimal>>

选择器表达式

predicate Expression<Func<TEntity, bool>>

条件表达式

cancellationToken CancellationToken

取消令牌

Returns

Task<decimal>

求和值

Update(IEnumerable<TEntity>)

更新多个指定实体

void Update(IEnumerable<TEntity> entities)

Parameters

entities IEnumerable<TEntity>

要更新的实体集合

Update(TEntity)

更新指定实体

void Update(TEntity entity)

Parameters

entity TEntity

要更新的实体

Update(params TEntity[])

更新多个指定实体

void Update(params TEntity[] entities)

Parameters

entities TEntity[]

要更新的实体数组