/// <summary> /// 有条件的分页获取 /// T的作用有2:1默认用T的名称做TbName,2dapper返回类型的指定 /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="TFilter"></typeparam> /// <param name="cnn"></param> /// <param name="paging"></param> /// <param name="filter"></param> /// <param name="tbName"></param> /// <param name="keyFields"></param> /// <param name="orderStr"></param> /// <param name="orderType"></param> /// <returns></returns> async public static Task <PagingResult <T> > GetPagingListSpAsync <T, TFilter>( this IDbConnection cnn, Paging paging = null, TFilter filter = null, string tbName = null, string keyFields = null, string orderStr = "", bool?orderType = null) where TFilter : class { if (paging == null) { paging = new Paging(); } var result = await cnn.QueryMultipleSpAsync(new sp_GetPagingList { tbName = tbName ?? typeof(T).Name, strWhere = filter == null ? "" : SqlWhereMapper.toWhere <TFilter>(filter), keyFields = keyFields ?? PredefindedKeyFields, PageSize = paging.Size, PageIndex = paging.Index, OrderType = orderType ?? paging.OrderType, OrderStr = orderStr, tbFields = "*" }); var total = result.Read <int>().FirstOrDefault(); var list = result.Read <T>(); return(new PagingResult <T> { Total = total, List = list }); }
/// <summary> /// sp_GetList,带搜索条件的 /// T的作用有2:1默认用T的名称做TbName,2dapper返回类型的指定 /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="TFilter"></typeparam> /// <param name="cnn"></param> /// <param name="filter"></param> /// <param name="tbName"></param> /// <param name="keyFields"></param> /// <param name="orderType"></param> /// <param name="orderStr"></param> /// <returns></returns> async public static Task <IEnumerable <T> > GetListSpAsync <T, TFilter>( this IDbConnection cnn, TFilter filter = null, string tbName = null, string keyFields = PredefindedKeyFields, bool orderType = false, string orderStr = "", string tbFields = "*") where TFilter : class { return(await cnn.QuerySpAsync <sp_GetList, T>(new sp_GetList() { tbName = tbName ?? typeof(T).Name, strWhere = filter == null ? "" : SqlWhereMapper.toWhere <TFilter>(filter), keyFields = keyFields ?? PredefindedKeyFields, OrderType = orderType, OrderStr = orderStr, tbFields = tbFields })); }