68 lines
2.0 KiB
C#
68 lines
2.0 KiB
C#
using SJZY.Track.Domain.Queries;
|
|
|
|
namespace SJZY.Track.Domain;
|
|
|
|
public interface IBasicRepository<T> : IBasicQuery<T> where T : IAggregateRoot
|
|
{
|
|
/// <summary>
|
|
/// update
|
|
/// </summary>
|
|
/// <param name="entity"></param>
|
|
/// <param name="ignoreColumns">要忽略更新的列</param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateAsync(T entity, Expression<Func<T, object>>? ignoreColumns);
|
|
|
|
/// <summary>
|
|
/// update
|
|
/// </summary>
|
|
/// <param name="entity"></param>
|
|
/// <param name="updateColumns">要更新的列</param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateColumnAsync(T entity, Expression<Func<T, object>>? updateColumns);
|
|
|
|
/// <summary>
|
|
/// update
|
|
/// </summary>
|
|
/// <param name="entity"></param>
|
|
/// <param name="ignoreAllNullColumns">不更新null值列</param>
|
|
/// <param name="ignoreAllDefaultValue">不更新默认值列</param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateAsync(T entity, bool ignoreAllNullColumns = false, bool ignoreAllDefaultValue = false);
|
|
|
|
/// <summary>
|
|
/// 批量更新
|
|
/// </summary>
|
|
/// <param name="entities"></param>
|
|
/// <param name="updateColumns">要更新的列</param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateRangeAsync(List<T> entities, Expression<Func<T, object>>? updateColumns = null);
|
|
|
|
/// <summary>
|
|
/// 软删
|
|
/// </summary>
|
|
/// <param name="where"></param>
|
|
/// <returns></returns>
|
|
Task<bool> SoftDeleteAsync(Expression<Func<T, bool>> where);
|
|
|
|
/// <summary>
|
|
/// insert
|
|
/// </summary>
|
|
/// <param name="insertObj"></param>
|
|
/// <returns></returns>
|
|
Task<bool> InsertAsync(T insertObj);
|
|
|
|
/// <summary>
|
|
/// 新增返回id
|
|
/// </summary>
|
|
/// <param name="insertObj"></param>
|
|
/// <returns></returns>
|
|
Task<int> InsertReturnIdentityAsync(T insertObj);
|
|
|
|
/// <summary>
|
|
/// 批量insert
|
|
/// </summary>
|
|
/// <param name="entities"></param>
|
|
/// <returns></returns>
|
|
Task<bool> InsertRangeAsync(List<T> entities);
|
|
}
|