mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-24 18:04:52 +08:00
5.0.2.7 BUG Partiton&Union
This commit is contained in:
parent
79d4893a48
commit
a01e35ffb4
@ -45,8 +45,11 @@ namespace OrmTest
|
||||
var getDicionary = db.Queryable<Order>().ToDictionary(it => it.Id, it => it.Name);
|
||||
var getDicionaryList = db.Queryable<Order>().ToDictionaryList();
|
||||
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 ####");
|
||||
}
|
||||
|
||||
|
@ -622,6 +622,7 @@ namespace SqlSugar
|
||||
if (QueryBuilder.Take == null)
|
||||
QueryBuilder.Take = 1;
|
||||
_PartitionBy(expression);
|
||||
QueryBuilder.DisableTop = true;
|
||||
return this;
|
||||
}
|
||||
public virtual ISugarQueryable<T> PartitionBy(string groupFileds)
|
||||
|
@ -40,6 +40,7 @@ namespace SqlSugar
|
||||
public int ExternalPageIndex { get; set; }
|
||||
public int ExternalPageSize { get; set; }
|
||||
public int? Take { get; set; }
|
||||
public bool DisableTop { get; set; }
|
||||
public string OrderByValue { get; set; }
|
||||
public object SelectValue { 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>>>();
|
||||
foreach (var item in queryables)
|
||||
{
|
||||
item.QueryBuilder.DisableTop = true;
|
||||
var sqlObj = item.ToSql();
|
||||
string sql = sqlObj.Key;
|
||||
UtilMethods.RepairReplicationParameters(ref sql, sqlObj.Value.ToArray(), i, "Union");
|
||||
|
@ -28,7 +28,7 @@ namespace SqlSugar
|
||||
{
|
||||
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 rowNumberString = string.Format(",ROW_NUMBER() OVER({0}) AS RowIndex ", GetOrderByString);
|
||||
string groupByValue = GetGroupByString + HavingInfos;
|
||||
|
Loading…
Reference in New Issue
Block a user