50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
namespace LFlow.Base.Interfaces;
|
|
|
|
/// <summary>
|
|
/// 通用的仓库对象接口
|
|
/// </summary>
|
|
/// <typeparam name="T">数据模型</typeparam>
|
|
/// <typeparam name="K">主键</typeparam>
|
|
public interface IRepo<T, K> where T : IDataModel
|
|
{
|
|
/// <summary>
|
|
/// 获取单个对象
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
T Get(K id);
|
|
/// <summary>
|
|
/// 删除单个对象
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
int DeleteById(K id);
|
|
/// <summary>
|
|
/// 保存与更新
|
|
/// </summary>
|
|
/// <param name="entity"></param>
|
|
/// <returns></returns>
|
|
T SaveOrUpdate(T entity, bool isUpdate);
|
|
/// <summary>
|
|
/// 获取所有对象列表(默认分页)
|
|
/// </summary>
|
|
/// <param name="pageIndex"></param>
|
|
/// <param name="pageSize"></param>
|
|
/// <returns></returns>
|
|
List<T> GetAll(int pageIndex, int pageSize, ref int pageTotal);
|
|
|
|
/// <summary>
|
|
/// 根据条件搜索对象列表
|
|
/// </summary>
|
|
/// <param name="whereObj"></param>
|
|
/// <returns></returns>
|
|
List<T> Search(T whereObj);
|
|
/// <summary>
|
|
/// 根据条件搜索主键列表
|
|
/// </summary>
|
|
/// <param name="whereObj"></param>
|
|
/// <returns></returns>
|
|
List<K> WhereSearchId(T whereObj);
|
|
|
|
}
|