99 lines
3.1 KiB
C#
99 lines
3.1 KiB
C#
|
|
using System;
|
|||
|
|
using System.Linq.Expressions;
|
|||
|
|
using SqlSugar;
|
|||
|
|
|
|||
|
|
namespace Mtxfw.Utility.DataAccess
|
|||
|
|
{
|
|||
|
|
public partial class Sql : DbHelperSqlSugar
|
|||
|
|
{
|
|||
|
|
public Sql()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 条件查询
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public SqlSugarClient Sugar()
|
|||
|
|
{
|
|||
|
|
return Db;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 条件查询
|
|||
|
|
/// </summary>
|
|||
|
|
/// <typeparam name="T"></typeparam>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public ISugarQueryable<T> Queryable<T>() where T : class, new()
|
|||
|
|
{
|
|||
|
|
return Db.Queryable<T>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否存在记录
|
|||
|
|
/// </summary>
|
|||
|
|
/// <typeparam name="T"></typeparam>
|
|||
|
|
/// <param name="predicate"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public bool Exists<T>(Expression<Func<T, bool>> predicate) where T : class, new()
|
|||
|
|
{
|
|||
|
|
return Db.Queryable<T>().Any(predicate);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询最大值 (单个字段)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <typeparam name="T"></typeparam>
|
|||
|
|
/// <param name="predicate"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public int Max<T>(Expression<Func<T, bool>> predicate, Expression<Func<T, int>> maxField) where T : class, new()
|
|||
|
|
{
|
|||
|
|
return Db.Queryable<T>().Where(predicate).Max(maxField);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询最小值 (单个字段)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <typeparam name="T"></typeparam>
|
|||
|
|
/// <param name="predicate"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public int Min<T>(Expression<Func<T, bool>> predicate, Expression<Func<T, int>> minField) where T : class, new()
|
|||
|
|
{
|
|||
|
|
return Db.Queryable<T>().Where(predicate).Min(minField);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询最小值 (单个字段)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <typeparam name="T"></typeparam>
|
|||
|
|
/// <param name="predicate"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public object Min<T>(Expression<Func<T, bool>> predicate, Expression<Func<T, object>> minField) where T : class, new()
|
|||
|
|
{
|
|||
|
|
return Db.Queryable<T>().Where(predicate).Min(minField);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询总和 (单个字段)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <typeparam name="T"></typeparam>
|
|||
|
|
/// <param name="predicate"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public decimal Sum<T>(Expression<Func<T, bool>> predicate, Expression<Func<T, decimal>> sumField) where T : class, new()
|
|||
|
|
{
|
|||
|
|
return Db.Queryable<T>().Where(predicate).Sum(sumField);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询平均值 (单个字段)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <typeparam name="T"></typeparam>
|
|||
|
|
/// <param name="predicate"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public decimal Avg<T>(Expression<Func<T, bool>> predicate, Expression<Func<T, decimal>> avgField) where T : class, new()
|
|||
|
|
{
|
|||
|
|
return Db.Queryable<T>().Where(predicate).Avg(avgField);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|