Table of Contents

Class RepositoryBase<TDbContext, TEntity, TPrimaryKey>

Namespace
HeBianGu.Data.DataBase
Assembly
HeBianGu.DataBase.Sqlite.dll
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

int

ClearAsync(bool)

删除实体

public Task<int> ClearAsync(bool autoSave = true)

Parameters

autoSave bool

是否立即执行保存

Returns

Task<int>

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

int

Delete(TEntity, bool)

删除实体

public int Delete(TEntity entity, bool autoSave = true)

Parameters

entity TEntity

要删除的实体

autoSave bool

是否立即执行保存

Returns

int

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

Task<int>

DeleteAsync(TEntity, bool)

删除实体

public Task<int> DeleteAsync(TEntity entity, bool autoSave = true)

Parameters

entity TEntity

要删除的实体

autoSave bool

是否立即执行保存

Returns

Task<int>

DeleteAsync(TPrimaryKey, bool)

删除实体

public Task<int> DeleteAsync(TPrimaryKey id, bool autoSave = true)

Parameters

id TPrimaryKey

实体主键

autoSave bool

是否立即执行保存

Returns

Task<int>

DeleteByID(TPrimaryKey, bool)

删除实体

public int DeleteByID(TPrimaryKey id, bool autoSave = true)

Parameters

id TPrimaryKey
autoSave bool

是否立即执行保存

Returns

int

DeleteByIDAsync(TPrimaryKey, bool)

删除实体

public Task<int> DeleteByIDAsync(TPrimaryKey id, bool autoSave = true)

Parameters

id TPrimaryKey
autoSave bool

是否立即执行保存

Returns

Task<int>

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

Task<List<TEntity>>

GetListAsync(Expression<Func<TEntity, bool>>)

根据lambda表达式条件获取实体集合

public Task<List<TEntity>> GetListAsync(Expression<Func<TEntity, bool>> predicate)

Parameters

predicate Expression<Func<TEntity, bool>>

lambda表达式条件

Returns

Task<List<TEntity>>

GetListAsync(params string[])

获取实体集合

public Task<List<TEntity>> GetListAsync(params string[] includes)

Parameters

includes string[]

Returns

Task<List<TEntity>>

Insert(TEntity, bool)

新增实体

public int Insert(TEntity entity, bool autoSave = true)

Parameters

entity TEntity

实体

autoSave bool

是否立即执行保存

Returns

int

InsertAsync(TEntity, bool)

新增实体

public Task<int> InsertAsync(TEntity entity, bool autoSave = true)

Parameters

entity TEntity

实体

autoSave bool

是否立即执行保存

Returns

Task<int>

InsertOrUpdateAsync(TEntity, bool)

新增或更新实体

public Task<int> InsertOrUpdateAsync(TEntity entity, bool autoSave = true)

Parameters

entity TEntity

实体

autoSave bool

是否立即执行保存

Returns

Task<int>

InsertRangeAsync(params TEntity[])

新增实体

public Task<int> InsertRangeAsync(params TEntity[] entity)

Parameters

entity TEntity[]

实体

Returns

Task<int>

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

Task<Tuple<List<TEntity>, int>>

Save()

事务性保存

public int Save()

Returns

int

SaveAsync()

事务性保存

public Task<int> SaveAsync()

Returns

Task<int>

Update(TEntity, bool)

更新实体

public int Update(TEntity entity, bool autoSave = true)

Parameters

entity TEntity

实体

autoSave bool

是否立即执行保存

Returns

int

UpdateAsync(TEntity, bool)

更新实体

public Task<int> UpdateAsync(TEntity entity, bool autoSave = true)

Parameters

entity TEntity

实体

autoSave bool

是否立即执行保存

Returns

Task<int>