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
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
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
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
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
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
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
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
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
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
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
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
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[]要更新的实体数组