示例#1
0
 public PagedBuilderResult Build(string sql,object[] args,Pagination page)
 {
     var result=new PagedBuilderResult();
     var provCache = _info.GetSqlCache(_provider.ProviderId);
     var cache = provCache.GetPaged(sql);
     var pm = new ParametersManager(args);
     if (cache == null)
     {
         cache = new PagedSqlCache();
         cache.CountSql = GetCountSql(sql);
         cache.PagedSql = _provider.FormatQueryPagination(sql, page, pm);
         provCache.AddPaged(sql, cache);
     }
     else
     {
         pm.AddValues(page.Skip, page.PageSize);
     }
     result.CountSql = cache.CountSql;
     result.PagedSql = cache.PagedSql;
     result.Args=pm.ToArray();
     return result;
 }
示例#2
0
 public void AddPaged(string sql, PagedSqlCache cache)
 {
     _paged.Value[sql.GetHashCode()] = cache;
 }
示例#3
0
 public void AddPaged(string sql, PagedSqlCache cache)
 {
     _paged.Value[sql.GetHashCode()] = cache;
 }