Files

99 lines
3.1 KiB
C#
Raw Permalink Normal View History

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);
}
}
}