86 lines
2.7 KiB
C#
Raw Normal View History

2025-10-21 13:38:23 +08:00
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq.Expressions;
using System.Threading.Tasks;
using RIZO.Model;
namespace RIZO.Repository
{
public interface IBaseRepository<T> : ISimpleClient<T> where T : class, new()
{
#region add
int Add(T t, bool ignoreNull = true);
int Insert(List<T> t);
int Insert(T parm, Expression<Func<T, object>> iClumns = null, bool ignoreNull = true);
IInsertable<T> Insertable(T t);
#endregion add
#region update
int Update(T entity, bool ignoreNullColumns = false, object data = null);
/// <summary>
/// 只更新表达式的值
/// </summary>
/// <param name="entity"></param>
/// <param name="expression"></param>
/// <returns></returns>
int Update(T entity, Expression<Func<T, object>> expression, bool ignoreAllNull = false);
int Update(T entity, Expression<Func<T, object>> expression, Expression<Func<T, bool>> where);
int Update(Expression<Func<T, bool>> where, Expression<Func<T, T>> columns);
Task<int> UpdateAsync(Expression<Func<T, bool>> where, Expression<Func<T, T>> columns);
#endregion update
DbResult<bool> UseTran(Action action);
DbResult<bool> UseTran(ISqlSugarClient client, Action action);
bool UseTran2(Action action);
#region delete
IDeleteable<T> Deleteable();
int Delete(object id, string title = "");
int DeleteTable();
bool Truncate();
#endregion delete
#region query
/// <summary>
/// 根据条件查询分页数据
/// </summary>
/// <param name="where"></param>
/// <param name="parm"></param>
/// <returns></returns>
PagedInfo<T> GetPages(Expression<Func<T, bool>> where, PagerInfo parm);
PagedInfo<T> GetPages(Expression<Func<T, bool>> where, PagerInfo parm, Expression<Func<T, object>> order, OrderByType orderEnum = OrderByType.Asc);
PagedInfo<T> GetPages(Expression<Func<T, bool>> where, PagerInfo parm, Expression<Func<T, object>> order, string orderByType);
bool Any(Expression<Func<T, bool>> expression);
ISugarQueryable<T> Queryable();
List<T> GetAll(bool useCache = false, int cacheSecond = 3600);
List<T> SqlQueryToList(string sql, object obj = null);
T GetId(object pkValue);
#endregion query
#region Procedure
DataTable UseStoredProcedureToDataTable(string procedureName, List<SugarParameter> parameters);
(DataTable, List<SugarParameter>) UseStoredProcedureToTuple(string procedureName, List<SugarParameter> parameters);
#endregion Procedure
Squashed commit of the following: commit ac4c7383285b88b2f326f6979f735496fa25d0b4 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 19:32:04 2025 +0800 修改 commit be79fbda5de0846209dcab9d80300a920d470656 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 19:23:50 2025 +0800 质量设定模糊查询 commit cd3b6582ad627b9f0bf82896b65e0a25971ecb97 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 18:57:53 2025 +0800 质量设定 commit a2823cec8987b4f5c51029bf1456802df15e7d0d Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 16:28:05 2025 +0800 导出 commit 5a7bf882d0b65746e1041f252968b3c0ce91b8b2 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 15:43:30 2025 +0800 导出 commit 2793eda822247b8480737cdb30b82a2dbb1a8881 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 14:44:46 2025 +0800 条件查询 commit a5c8cb23b0058ca510c7b66fbf7e7be3f696c9eb Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 14:16:23 2025 +0800 查询工序详情 commit f1a8053c2fb65d37e41a9a16a10ee75aff99c00e Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 11:51:48 2025 +0800 导入 commit 4867fe688058817e14fc46bb88b8c6b20688dd19 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 11:29:08 2025 +0800 删除修改 commit 82e5eef5f6aa12679810985890528fa6a6004584 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 11:27:18 2025 +0800 批量删除修改 commit 58e8c088fd01b97a54c62f4027673cab446c8a11 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 10:40:02 2025 +0800 修改 commit 61781194bd1310bc5187a0769ace449f7974bd35 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 10:37:11 2025 +0800 存用户名称 commit 952a52d30241ec49f2a354138e5397ae92aaea03 Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 10:00:23 2025 +0800 工艺路线导入 commit d4f43ccb892be7efa7531eb7e712fb71185c12ad Author: quowingwang <guoqingwang.ruizhiao> Date: Mon Nov 10 08:48:53 2025 +0800 工艺路线 commit c7e4c77e4d61609b7eac06a47b42d37023341527 Author: quowingwang <guoqingwang.ruizhiao> Date: Fri Nov 7 09:24:24 2025 +0800 工艺管理
2025-11-11 08:35:41 +08:00
2025-10-21 13:38:23 +08:00
}
}