仓储层的建立
分别建立图示文件夹,Reposity是我们要建立的仓储层。
先分别建立两个.NET5类库:
建立图示的类:
BaseReposity代表重复使用的类,先建立IReposity项目,代表接口。
建立IRepository
选择引用项目:
public interface IBaseRepository<TEntity> where TEntity:class,new()
{
Task<bool> CreateAsync(TEntity entity);
Task<bool> DeleteAsync(int id);
Task<bool> EditAsync(TEntity entity);
Task<TEntity> FindAsync(int id);
Task<TEntity> FindAsync(Expression<Func<TEntity,bool>> func);
/// <summary>
/// 查询全部的数据
/// </summary>
/// <returns></returns>
Task<List<TEntity>> QueryAsync();
/// <summary>
/// 自定义条件查询
/// </summary>
/// <param name="func"></param>
/// <returns></returns>
Task<List<TEntity>> QueryAsync(Expression<Func<TEntity,bool>> func);
/// <summary>
/// 分页查询
/// </summary>
/// <param name="page"></param>
/// <param name="size"></param>
/// <param name="total"></param>
/// <returns></returns>
Task<List<TEntity>> QueryAsync(int page, int size, RefAsync<int> total);
/// <summary>
/// 自定义条件分页查询
/// </summary>
/// <param name="func"></param>
/// <param name="page"></param>
/// <param name="size"></param>
/// <param name="total"></param>
/// <returns></returns>
Task<List<TEntity>> QueryAsync(Expression<Func<TEntity, bool>> func, int page, int size, RefAsync<int> total);
}
public interface IBlogNewsRepository:IBaseRepository<BlogNews>
{
}
public interface ITypeInfoRepository:IBaseRepository<MyBlog.Model.TypeInfo>
{
}
</