2025-07-21 18:49:49 +08:00
|
|
|
|
namespace DMS.Core.Interfaces.Repositories;
|
2025-07-21 14:35:17 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 提供泛型数据访问操作的基础仓储接口。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <typeparam name="T">领域模型的类型。</typeparam>
|
|
|
|
|
|
public interface IBaseRepository<T> where T : class
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 异步根据ID获取单个实体。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="id">实体的主键ID。</param>
|
|
|
|
|
|
/// <returns>找到的实体,如果不存在则返回null。</returns>
|
|
|
|
|
|
Task<T> GetByIdAsync(int id);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 异步获取所有实体。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <returns>所有实体的列表。</returns>
|
|
|
|
|
|
Task<List<T>> GetAllAsync();
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 异步添加一个新实体。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="entity">要添加的实体。</param>
|
2025-07-21 18:49:49 +08:00
|
|
|
|
Task<T> AddAsync(T entity);
|
2025-07-21 14:35:17 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 异步更新一个已存在的实体。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="entity">要更新的实体。</param>
|
2025-07-21 18:49:49 +08:00
|
|
|
|
Task<int> UpdateAsync(T entity);
|
2025-07-21 14:35:17 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 异步根据ID删除一个实体。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="id">要删除的实体的主键ID。</param>
|
2025-07-21 18:49:49 +08:00
|
|
|
|
Task<int> DeleteAsync(T entity);
|
2025-07-21 22:02:42 +08:00
|
|
|
|
|
2025-10-21 13:01:27 +08:00
|
|
|
|
|
2025-07-22 21:36:33 +08:00
|
|
|
|
|
2025-10-21 12:27:45 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 异步根据实体列表批量删除实体。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="entrities">要删除的实体列表。</param>
|
|
|
|
|
|
Task<int> DeleteAsync(List<T> entrities);
|
|
|
|
|
|
|
2025-08-22 20:24:09 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 异步批量添加实体。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="entities">要添加的实体列表。</param>
|
2025-10-21 13:04:11 +08:00
|
|
|
|
Task<List<T>> AddAsync(List<T> entities);
|
2025-07-21 14:35:17 +08:00
|
|
|
|
}
|