LFlow/LFlow/Interfaces/IRepo.cs

44 lines
1.1 KiB
C#

using System;
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>
T Delete(K id);
/// <summary>
/// 保存与更新
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
T SaveOrUpdate(T entity, bool isUpdate);
/// <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);
}