Files
DMS/DMS.Core/Interfaces/Repositories/IBaseRepository.cs
David P.G 6872631933 refactor:修复仓储接口和实现中的DeleteAsync方法问题 │
1. 为IBaseRepository接口添加DeleteByIdsAsync方法定义
 2. 为所有仓储实现类添加DeleteByIdsAsync方法实现
 3. 修复DeviceAppService中deviceId未定义的问题
 4. 修复DeviceManagementService中DeleteDeviceByIdAsync方法不存在的问题
 5. 修复所有仓储类中DeleteAsync(List<T>)方法实现不正确的问题
 6. 修复Email相关仓储类中Deleteable方法参数错误的问题"
2025-10-21 12:27:45 +08:00

69 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>
Task<T> AddAsync(T entity);
/// <summary>
/// 异步更新一个已存在的实体。
/// </summary>
/// <param name="entity">要更新的实体。</param>
Task<int> UpdateAsync(T entity);
/// <summary>
/// 异步根据ID删除一个实体。
/// </summary>
/// <param name="id">要删除的实体的主键ID。</param>
Task<int> DeleteAsync(T entity);
/// <summary>
/// 异步根据ID删除一个实体。
/// </summary>
/// <param name="id">要删除的实体的主键ID。</param>
Task<int> DeleteByIdAsync(int id);
/// <summary>
/// 异步根据实体列表批量删除实体。
/// </summary>
/// <param name="entrities">要删除的实体列表。</param>
Task<int> DeleteAsync(List<T> entrities);
/// <summary>
/// 异步根据ID列表批量删除实体。
/// </summary>
/// <param name="ids">要删除的实体的主键ID列表。</param>
Task<int> DeleteByIdsAsync(List<int> ids);
/// <summary>
/// 从数据库获取数据。
/// </summary>
/// <param name="number">从数据库获取数据的条数</param>
Task<List<T>> TakeAsync(int number);
/// <summary>
/// 异步批量添加实体。
/// </summary>
/// <param name="entities">要添加的实体列表。</param>
Task<List<T>> AddBatchAsync(List<T> entities);
}