123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- using ECL142.BasicAuth.Domain.Entities.Commons;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Linq.Expressions;
- using System.Text;
- using System.Threading.Tasks;
- namespace ECL142.BasicAuth.Domain.Repositories
- {
- /// <summary>
- /// 仓储基接口
- /// </summary>
- public interface IBasicRepository<TEntity, TKey> : IRepository where TEntity : Entity<TKey>
- {
- /// <summary>
- /// 获取所有记录列表
- /// </summary>
- /// <param name="includeDetails"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task<List<TEntity>> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 获取总记录数
- /// </summary>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task<long> GetCountAsync(CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 翻页获取记录列表
- /// </summary>
- /// <param name="skipCount"></param>
- /// <param name="maxResultCount"></param>
- /// <param name="sorting"></param>
- /// <param name="includeDetails"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task<List<TEntity>> GetPagedListAsync(int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 根据筛选条件获取记录列表
- /// </summary>
- /// <param name="filter"></param>
- /// <param name="skipCount"></param>
- /// <param name="maxResultCount"></param>
- /// <param name="sorting"></param>
- /// <param name="includeDetails"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task<List<TEntity>> GetListAsync(Expression<Func<TEntity, bool>> filter, int skipCount, int maxResultCount, string sorting, bool includeDetails = true, CancellationToken cancellationToken = default);
- /// <summary>
- /// 根据筛选条件获取记录总数
- /// </summary>
- /// <param name="filter"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task<long> GetCountAsync(Expression<Func<TEntity, bool>> filter, CancellationToken cancellationToken = default);
- /// <summary>
- /// 根据主键Id获取记录
- /// </summary>
- /// <param name="id"></param>
- /// <param name="includeDetails"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task<TEntity> FindAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 插入记录
- /// </summary>
- /// <param name="entity"></param>
- /// <param name="autoSave"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task<TEntity> InsertAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 批量插入记录
- /// </summary>
- /// <param name="entities"></param>
- /// <param name="autoSave"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task InsertManyAsync(IEnumerable<TEntity> entities, bool autoSave = false, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 更新记录
- /// </summary>
- /// <param name="entity"></param>
- /// <param name="autoSave"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task<TEntity> UpdateAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 批量更新记录
- /// </summary>
- /// <param name="entities"></param>
- /// <param name="autoSave"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task UpdateManyAsync(IEnumerable<TEntity> entities, bool autoSave = false, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 根据实体删除记录
- /// </summary>
- /// <param name="entity"></param>
- /// <param name="autoSave"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task DeleteAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 批量删除记录
- /// </summary>
- /// <param name="entities"></param>
- /// <param name="autoSave"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task DeleteManyAsync(IEnumerable<TEntity> entities, bool autoSave = false, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 根据主键删除记录
- /// </summary>
- /// <param name="id"></param>
- /// <param name="autoSave"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task DeleteAsync(TKey id, bool autoSave = false, CancellationToken cancellationToken = default(CancellationToken));
- /// <summary>
- /// 根据主键,批量删除记录
- /// </summary>
- /// <param name="ids"></param>
- /// <param name="autoSave"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task DeleteManyAsync(IEnumerable<TKey> ids, bool autoSave = false, CancellationToken cancellationToken = default(CancellationToken));
- }
- }
|