Files
DMS/DMS.Core/Interfaces/Repositories/IBaseRepository.cs

57 lines
1.7 KiB
C#
Raw Normal View History

2025-07-21 18:49:49 +08:00
namespace DMS.Core.Interfaces.Repositories;
/// <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);
/// <summary>
/// 异步更新一个已存在的实体。
/// </summary>
/// <param name="entity">要更新的实体。</param>
2025-07-21 18:49:49 +08:00
Task<int> UpdateAsync(T entity);
/// <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
/// <summary>
/// 异步根据ID删除一个实体。
/// </summary>
/// <param name="id">要删除的实体的主键ID。</param>
2025-07-24 18:09:46 +08:00
Task<int> DeleteByIdAsync(int id);
2025-07-22 21:36:33 +08:00
/// <summary>
/// 从数据库获取数据。
/// </summary>
/// <param name="number">从数据库获取数据的条数</param>
Task<List<T>> TakeAsync(int number);
2025-08-22 20:24:09 +08:00
/// <summary>
/// 异步批量添加实体。
/// </summary>
/// <param name="entities">要添加的实体列表。</param>
Task<bool> AddBatchAsync(List<T> entities);
}