Class RepositoryBase<TDbContext, TEntity, TPrimaryKey>
public abstract class RepositoryBase<TDbContext, TEntity, TPrimaryKey> : IRepository<TEntity, TPrimaryKey>, IRepository where TDbContext : DbContext where TEntity : EntityBase<TPrimaryKey>
Type Parameters
TDbContext
TEntity
TPrimaryKey
- Inheritance
-
RepositoryBase<TDbContext, TEntity, TPrimaryKey>
- Implements
-
IRepository<TEntity, TPrimaryKey>
- Derived
- Inherited Members
- Extension Methods
Constructors
RepositoryBase(TDbContext)
通过构造函数注入得到数据上下文对象实例
public RepositoryBase(TDbContext dbContext)
Parameters
dbContext
TDbContext
Fields
_dbContext
protected readonly TDbContext _dbContext
Field Value
- TDbContext
Properties
DataContext
public TDbContext DataContext { get; }
Property Value
- TDbContext
Methods
Clear(bool)
删除实体
public int Clear(bool autoSave = true)
Parameters
autoSave
bool是否立即执行保存
Returns
ClearAsync(bool)
删除实体
public Task<int> ClearAsync(bool autoSave = true)
Parameters
autoSave
bool是否立即执行保存
Returns
CreateEqualityExpressionForId(TPrimaryKey)
根据主键构建判断表达式
protected static Expression<Func<TEntity, bool>> CreateEqualityExpressionForId(TPrimaryKey id)
Parameters
id
TPrimaryKey主键
Returns
- Expression<Func<TEntity, bool>>
Delete(Expression<Func<TEntity, bool>>, bool)
public int Delete(Expression<Func<TEntity, bool>> where, bool autoSave = true)
Parameters
where
Expression<Func<TEntity, bool>>autoSave
bool
Returns
Delete(TEntity, bool)
删除实体
public int Delete(TEntity entity, bool autoSave = true)
Parameters
entity
TEntity要删除的实体
autoSave
bool是否立即执行保存
Returns
DeleteAsync(Expression<Func<TEntity, bool>>, bool)
根据条件删除实体
public Task<int> DeleteAsync(Expression<Func<TEntity, bool>> where, bool autoSave = true)
Parameters
where
Expression<Func<TEntity, bool>>lambda表达式
autoSave
bool是否自动保存
Returns
DeleteAsync(TEntity, bool)
删除实体
public Task<int> DeleteAsync(TEntity entity, bool autoSave = true)
Parameters
entity
TEntity要删除的实体
autoSave
bool是否立即执行保存
Returns
DeleteAsync(TPrimaryKey, bool)
删除实体
public Task<int> DeleteAsync(TPrimaryKey id, bool autoSave = true)
Parameters
id
TPrimaryKey实体主键
autoSave
bool是否立即执行保存
Returns
DeleteByID(TPrimaryKey, bool)
删除实体
public int DeleteByID(TPrimaryKey id, bool autoSave = true)
Parameters
id
TPrimaryKeyautoSave
bool是否立即执行保存
Returns
DeleteByIDAsync(TPrimaryKey, bool)
删除实体
public Task<int> DeleteByIDAsync(TPrimaryKey id, bool autoSave = true)
Parameters
id
TPrimaryKeyautoSave
bool是否立即执行保存
Returns
FirstOrDefaultAsync(Expression<Func<TEntity, bool>>)
根据lambda表达式条件获取单个实体
public Task<TEntity> FirstOrDefaultAsync(Expression<Func<TEntity, bool>> predicate)
Parameters
predicate
Expression<Func<TEntity, bool>>lambda表达式条件
Returns
- Task<TEntity>
GetByIDAsync(TPrimaryKey)
根据主键获取实体
public Task<TEntity> GetByIDAsync(TPrimaryKey id)
Parameters
id
TPrimaryKey实体主键
Returns
- Task<TEntity>
GetList()
获取实体集合
public List<TEntity> GetList()
Returns
- List<TEntity>
GetList(Action<IQueryable<TEntity>>)
获取实体集合
public List<TEntity> GetList(Action<IQueryable<TEntity>> action)
Parameters
action
Action<IQueryable<TEntity>>
Returns
- List<TEntity>
GetList(Expression<Func<TEntity, bool>>)
根据lambda表达式条件获取实体集合
public List<TEntity> GetList(Expression<Func<TEntity, bool>> predicate)
Parameters
predicate
Expression<Func<TEntity, bool>>lambda表达式条件
Returns
- List<TEntity>
GetList(params string[])
获取实体集合
public List<TEntity> GetList(params string[] includes)
Parameters
includes
string[]
Returns
- List<TEntity>
GetListAsync()
获取实体集合
public Task<List<TEntity>> GetListAsync()
Returns
GetListAsync(Expression<Func<TEntity, bool>>)
根据lambda表达式条件获取实体集合
public Task<List<TEntity>> GetListAsync(Expression<Func<TEntity, bool>> predicate)
Parameters
predicate
Expression<Func<TEntity, bool>>lambda表达式条件
Returns
GetListAsync(params string[])
获取实体集合
public Task<List<TEntity>> GetListAsync(params string[] includes)
Parameters
includes
string[]
Returns
Insert(TEntity, bool)
新增实体
public int Insert(TEntity entity, bool autoSave = true)
Parameters
entity
TEntity实体
autoSave
bool是否立即执行保存
Returns
InsertAsync(TEntity, bool)
新增实体
public Task<int> InsertAsync(TEntity entity, bool autoSave = true)
Parameters
entity
TEntity实体
autoSave
bool是否立即执行保存
Returns
InsertOrUpdateAsync(TEntity, bool)
新增或更新实体
public Task<int> InsertOrUpdateAsync(TEntity entity, bool autoSave = true)
Parameters
entity
TEntity实体
autoSave
bool是否立即执行保存
Returns
InsertRangeAsync(params TEntity[])
新增实体
public Task<int> InsertRangeAsync(params TEntity[] entity)
Parameters
entity
TEntity[]实体
Returns
LoadPageList(int, int, Expression<Func<TEntity, bool>>, Expression<Func<TEntity, object>>)
分页查询
public Task<Tuple<List<TEntity>, int>> LoadPageList(int startPage, int pageSize, Expression<Func<TEntity, bool>> where = null, Expression<Func<TEntity, object>> order = null)
Parameters
startPage
int页码
pageSize
int单页数据数
where
Expression<Func<TEntity, bool>>条件
order
Expression<Func<TEntity, object>>排序
Returns
Save()
事务性保存
public int Save()
Returns
SaveAsync()
事务性保存
public Task<int> SaveAsync()
Returns
Update(TEntity, bool)
更新实体
public int Update(TEntity entity, bool autoSave = true)
Parameters
entity
TEntity实体
autoSave
bool是否立即执行保存
Returns
UpdateAsync(TEntity, bool)
更新实体
public Task<int> UpdateAsync(TEntity entity, bool autoSave = true)
Parameters
entity
TEntity实体
autoSave
bool是否立即执行保存