namespace DMS.Core.Interfaces.Repositories;
///
/// 提供泛型数据访问操作的基础仓储接口。
///
/// 领域模型的类型。
public interface IBaseRepository where T : class
{
///
/// 异步根据ID获取单个实体。
///
/// 实体的主键ID。
/// 找到的实体,如果不存在则返回null。
Task GetByIdAsync(int id);
///
/// 异步获取所有实体。
///
/// 所有实体的列表。
Task> GetAllAsync();
///
/// 异步添加一个新实体。
///
/// 要添加的实体。
Task AddAsync(T entity);
///
/// 异步更新一个已存在的实体。
///
/// 要更新的实体。
Task UpdateAsync(T entity);
///
/// 异步根据ID删除一个实体。
///
/// 要删除的实体的主键ID。
Task DeleteAsync(T entity);
///
/// 异步根据ID删除一个实体。
///
/// 要删除的实体的主键ID。
Task DeleteByIdAsync(int id);
///
/// 异步根据ID列表批量删除实体。
///
/// 要删除的实体的主键ID列表。
Task DeleteByIdsAsync(List ids);
///
/// 从数据库获取数据。
///
/// 从数据库获取数据的条数
Task> TakeAsync(int number);
///
/// 异步批量添加实体。
///
/// 要添加的实体列表。
Task AddBatchAsync(List entities);
}