/// <summary> /// 直接执行union querybypage操作,并返回结果 /// </summary> /// <typeparam name="TSource"></typeparam> /// <param name="source"></param> /// <param name="up"></param> /// <param name="order_by"></param> /// <param name="is_all"></param> /// <param name="express"></param> /// <returns></returns> public static UnitDataCollection UnionQueryByPage <TSource>(this LinqDLR2Sql <TSource> source, UnitParameter up, string order_by, bool is_all = false, params LinqDLR2Sql <TSource>[] express) { var sql = source.ToSql(); up.SetValue("orderby", order_by); var data = source.SQLGenerator.ConditionValues; if (express != null) { foreach (var e in express) { sql += $@" {(is_all ? "union all" : "union")} {e.ToSql()}"; foreach (var item in e.SQLGenerator.ConditionValues) { data.Add(item.Key, item.Value); } } } up.SetValue("sql", sql); foreach (var item in data) { up.SetValue(item.Key, item.Value); } return(DBUnitProxy.QueryByPage <LamdaExpressUnit>(up, "")); }
/// <summary> /// 直接执行翻页查询 /// </summary> /// <typeparam name="TSource"></typeparam> /// <param name="source"></param> /// <param name="up"></param> /// <param name="orderby">排序语句</param> /// <returns></returns> public static UnitDataCollection QueryByPage <TSource>(this LinqDLR2Sql <TSource> source, UnitParameter up, string orderby = "") { var sql = source.ToSql(); var data = source.SQLGenerator.ConditionValues; up.SetValue("sql", sql); up.SetValue("orderby", orderby); foreach (var item in data) { up.SetValue(item.Key, item.Value); } return(DBUnitProxy.QueryByPage <LamdaExpressUnit>(up, "")); }