Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
 public static string List <T>(this ISubDynamicQuery paramData, string appendWhere) where T : IEntity, new()
 {
     return(DynamicQuery.List <T>(paramData, appendWhere));
 }