当前位置: 首页 > 工具软件 > Furion > 使用案例 >

Furion的SqlSugar插件使用技巧

葛和志
2023-12-01

与其说是Furion做了个兼容SqlSugar的插件,不如说Furion扩展了SqlSugar的功能。以下来说说几点我认为特别有用的点。

  • Sql日志
    Furion提供了SqlProfiler类来格式化sql并做了参数替换打印出来的sql直接在数据库里执行。
var sqlSugar = new SqlSugarScope(configConnection,
	db => {
		//单例参数配置,所有上下文生效
        db.Aop.OnLogExecuting = (sql, pars) => {
        	logger.LogDebug(SqlProfiler.ParameterFormat(sql, pars));
       		};
       	});
  • 分页
    Furion增加了一个分页方法,再也不用skip和take了
SqlSugarPagedList<TEntity> ToPagedList<TEntity>(this ISugarQueryable<TEntity> entity, int pageIndex, int pageSize)

返回一个SqlSugarPagedList类

namespace SqlSugar
{
    //
    // 摘要:
    //     分页泛型集合
    //
    // 类型参数:
    //   TEntity:
    public class SqlSugarPagedList<TEntity> where TEntity : new()
    {
        //
        // 摘要:
        //     页码
        public int PageIndex
        {
            get;
            set;
        }

        //
        // 摘要:
        //     页容量
        public int PageSize
        {
            get;
            set;
        }

        //
        // 摘要:
        //     总条数
        public int TotalCount
        {
            get;
            set;
        }

        //
        // 摘要:
        //     总页数
        public int TotalPages
        {
            get;
            set;
        }

        //
        // 摘要:
        //     当前页集合
        public IEnumerable<TEntity> Items
        {
            get;
            set;
        }

        //
        // 摘要:
        //     是否有上一页
        public bool HasPrevPages
        {
            get;
            set;
        }

        //
        // 摘要:
        //     是否有下一页
        public bool HasNextPages
        {
            get;
            set;
        }
    }
}
 类似资料: