public static string List(string EntityName, ISubDynamicQuery paramData, string appendWhere) { StringBuilder query = new StringBuilder(200); query.Append($"SELECT TOP ({paramData.SubPageSize}) resultTable.* FROM"); query.Append($"( SELECT TOP ({paramData.SubPageSize * paramData.SubCurPage}) ROW_NUMBER () OVER "); query.Append($" (ORDER BY { paramData.OrderBy }) AS rownumber, *"); query.Append($" FROM [{EntityName}]"); if (!string.IsNullOrWhiteSpace(paramData.WhereString)) { query.Append(" where " + paramData.WhereString); if (!string.IsNullOrWhiteSpace(appendWhere)) { query.Append($" and {appendWhere}"); } } else { if (!string.IsNullOrWhiteSpace(appendWhere)) { query.Append($" where {appendWhere}"); } } if (!string.IsNullOrWhiteSpace(paramData.OrderBy)) { query.Append($" ORDER BY { paramData.OrderBy }"); } query.Append(") AS resultTable"); query.Append($" WHERE rownumber > {(paramData.SubCurPage - 1) * paramData.SubPageSize}"); return(query.ToString()); }
public static string List <T>(ISubDynamicQuery paramData) where T : IEntity, new() { T target = new T(); StringBuilder query = new StringBuilder(200); query.Append($"SELECT TOP ({paramData.SubPageSize}) resultTable.* FROM"); query.Append($"( SELECT TOP ({paramData.SubPageSize * paramData.SubCurPage}) ROW_NUMBER () OVER "); if (!string.IsNullOrWhiteSpace(paramData.OrderBy)) { query.Append($" (ORDER BY { paramData.OrderBy }) AS rownumber, *"); } else { query.Append($" (ORDER BY { target.TargetColumn } desc) AS rownumber, *"); } query.Append($" FROM [{target.TableName}]"); if (!string.IsNullOrWhiteSpace(paramData.WhereString)) { query.Append(" where " + paramData.WhereString); } if (!string.IsNullOrWhiteSpace(paramData.OrderBy)) { query.Append($" ORDER BY { paramData.OrderBy }"); } query.Append(") AS resultTable"); query.Append($" WHERE rownumber > {(paramData.SubCurPage - 1) * paramData.SubPageSize}"); return(query.ToString()); }
public static string List <T>(this ISubDynamicQuery paramData, string appendWhere) where T : IEntity, new() { return(DynamicQuery.List <T>(paramData, appendWhere)); }