mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-19 18:22:23 +08:00
5.0.2.7 BUG Partiton&Union
This commit is contained in:
@@ -45,8 +45,11 @@ namespace OrmTest
|
|||||||
var getDicionary = db.Queryable<Order>().ToDictionary(it => it.Id, it => it.Name);
|
var getDicionary = db.Queryable<Order>().ToDictionary(it => it.Id, it => it.Name);
|
||||||
var getDicionaryList = db.Queryable<Order>().ToDictionaryList();
|
var getDicionaryList = db.Queryable<Order>().ToDictionaryList();
|
||||||
var getTest = db.Queryable<Order>().Where(it =>string.IsNullOrWhiteSpace( it.Name)).ToList();
|
var getTest = db.Queryable<Order>().Where(it =>string.IsNullOrWhiteSpace( it.Name)).ToList();
|
||||||
|
var test01 = db.Queryable<Order>().PartitionBy(it => it.Id).ToList();
|
||||||
|
var q1 = db.Queryable<Order>().Take(1);
|
||||||
|
var q2 = db.Queryable<Order>().Take(2);
|
||||||
|
var test02 = db.Union(q1, q2).ToList();
|
||||||
|
var test03 = db.Queryable<Order>().Take(1).ToList();
|
||||||
Console.WriteLine("#### Examples End ####");
|
Console.WriteLine("#### Examples End ####");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -622,6 +622,7 @@ namespace SqlSugar
|
|||||||
if (QueryBuilder.Take == null)
|
if (QueryBuilder.Take == null)
|
||||||
QueryBuilder.Take = 1;
|
QueryBuilder.Take = 1;
|
||||||
_PartitionBy(expression);
|
_PartitionBy(expression);
|
||||||
|
QueryBuilder.DisableTop = true;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
public virtual ISugarQueryable<T> PartitionBy(string groupFileds)
|
public virtual ISugarQueryable<T> PartitionBy(string groupFileds)
|
||||||
|
@@ -40,6 +40,7 @@ namespace SqlSugar
|
|||||||
public int ExternalPageIndex { get; set; }
|
public int ExternalPageIndex { get; set; }
|
||||||
public int ExternalPageSize { get; set; }
|
public int ExternalPageSize { get; set; }
|
||||||
public int? Take { get; set; }
|
public int? Take { get; set; }
|
||||||
|
public bool DisableTop { get; set; }
|
||||||
public string OrderByValue { get; set; }
|
public string OrderByValue { get; set; }
|
||||||
public object SelectValue { get; set; }
|
public object SelectValue { get; set; }
|
||||||
public string SelectCacheKey { get; set; }
|
public string SelectCacheKey { get; set; }
|
||||||
|
@@ -544,6 +544,7 @@ namespace SqlSugar
|
|||||||
List<KeyValuePair<string, List<SugarParameter>>> allItems = new List<KeyValuePair<string, List<SugarParameter>>>();
|
List<KeyValuePair<string, List<SugarParameter>>> allItems = new List<KeyValuePair<string, List<SugarParameter>>>();
|
||||||
foreach (var item in queryables)
|
foreach (var item in queryables)
|
||||||
{
|
{
|
||||||
|
item.QueryBuilder.DisableTop = true;
|
||||||
var sqlObj = item.ToSql();
|
var sqlObj = item.ToSql();
|
||||||
string sql = sqlObj.Key;
|
string sql = sqlObj.Key;
|
||||||
UtilMethods.RepairReplicationParameters(ref sql, sqlObj.Value.ToArray(), i, "Union");
|
UtilMethods.RepairReplicationParameters(ref sql, sqlObj.Value.ToArray(), i, "Union");
|
||||||
|
@@ -28,7 +28,7 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
this.OrderByValue = this.PartitionByValue + this.OrderByValue;
|
this.OrderByValue = this.PartitionByValue + this.OrderByValue;
|
||||||
}
|
}
|
||||||
var isFirst = (Skip == 0 || Skip == null) && Take == 1;
|
var isFirst = (Skip == 0 || Skip == null) && Take == 1&&DisableTop==false;
|
||||||
var isRowNumber = (Skip != null || Take != null) && !isFirst;
|
var isRowNumber = (Skip != null || Take != null) && !isFirst;
|
||||||
var rowNumberString = string.Format(",ROW_NUMBER() OVER({0}) AS RowIndex ", GetOrderByString);
|
var rowNumberString = string.Format(",ROW_NUMBER() OVER({0}) AS RowIndex ", GetOrderByString);
|
||||||
string groupByValue = GetGroupByString + HavingInfos;
|
string groupByValue = GetGroupByString + HavingInfos;
|
||||||
|
Reference in New Issue
Block a user