diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
index e7d3454c9..70e6fdc68 100644
--- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
+++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
@@ -95,6 +95,7 @@
+
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs
index 783bf24f0..8210451b9 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs
@@ -31,6 +31,7 @@ namespace OrmTest
}
public static void Init()
{
+ UCustom019.Init();
UnitManyToMany.Init();
UCustom018.Init();
UCustom017.Init();
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UCustom019.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom019.cs
new file mode 100644
index 000000000..fc96fd06b
--- /dev/null
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom019.cs
@@ -0,0 +1,69 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using SqlSugar;
+namespace OrmTest
+{
+ internal class UCustom019
+ {
+ public static void Init()
+ {
+ var db = NewUnitTest.Db;
+
+ //建表
+ if (!db.DbMaintenance.IsAnyTable("Test001", false))
+ {
+ db.CodeFirst.InitTables();
+ //用例代码
+ var dataList = new List();
+ dataList.Add(new Test001() { id = 1, group = 1, addTime = DateTime.Now });
+ dataList.Add(new Test001() { id = 2, group = 1, addTime = DateTime.Now.AddDays(1) });
+ dataList.Add(new Test001() { id = 3, group = 2, addTime = DateTime.Now.AddDays(1) });
+ dataList.Add(new Test001() { id = 4, group = 2, addTime = DateTime.Now.AddDays(1) });
+ dataList.Add(new Test001() { id = 5, group = 2, addTime = DateTime.Now.AddDays(1) });
+ dataList.Add(new Test001() { id = 6, group = 3, addTime = DateTime.Now.AddDays(1) });
+ var result = db.Insertable(dataList).ExecuteCommand();//用例代码
+ }
+
+ var defaultTime = new DateTime(1900, 1, 1);
+ var nowTime = DateTime.Now;
+
+ var iQueryAble = db.Queryable()
+ .GroupBy(it => it.group)
+ .GroupBy(it => it.addTime)
+ .Where(it=>it.id==1)
+ .Select(it => new Test001_Ext
+ {
+ group = it.group,
+ addTime = it.addTime,
+ lastTime = SqlFunc.AggregateMax(SqlFunc.IIF(it.group == 1, it.addTime, defaultTime)),
+ lastTime2 = SqlFunc.AggregateMax(SqlFunc.IIF(it.group == 1, it.addTime, defaultTime))
+ });
+ var res = db.Queryable(iQueryAble)
+
+ .InnerJoin((i, t) => i.group == t.group)
+ .Where((i,t)=>t.addTime < nowTime.AddDays(1))
+ .ToList();
+
+ Console.WriteLine("用例跑完");
+ Console.ReadKey();
+ }
+ //建类
+ public class Test001
+ {
+ public int id { get; set; }
+
+ public int group { get; set; }
+
+ public DateTime addTime { get; set; }
+ }
+
+ public class Test001_Ext : Test001
+ {
+ public DateTime lastTime { get; set; }
+ public DateTime lastTime2 { get; set; }
+ }
+ }
+}
diff --git a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs
index b81fd5cc6..767aee07a 100644
--- a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs
+++ b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs
@@ -347,9 +347,9 @@ namespace SqlSugar
var result= this.Context.Queryable(queryable);
var QueryBuilder = queryable.QueryBuilder;
result.QueryBuilder.IsQueryInQuery = true;
- result.QueryBuilder.WhereIndex = QueryBuilder.WhereIndex++;
- result.QueryBuilder.LambdaExpressions.ParameterIndex = QueryBuilder.LambdaExpressions.ParameterIndex++;
- result.QueryBuilder.LambdaExpressions.Index = QueryBuilder.LambdaExpressions.Index++;
+ var appendIndex = result.QueryBuilder.Parameters==null?1:result.QueryBuilder.Parameters.Count+1;
+ result.QueryBuilder.WhereIndex = (QueryBuilder.WhereIndex+1);
+ result.QueryBuilder.LambdaExpressions.ParameterIndex = (QueryBuilder.LambdaExpressions.ParameterIndex+ appendIndex);
return result;
}