diff --git a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj
index 717e41f2..79602ff3 100644
--- a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj
+++ b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj
@@ -47,6 +47,7 @@
+
diff --git a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml
index 03c7cd98..06e3330c 100644
--- a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml
+++ b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml
@@ -552,6 +552,29 @@
保存或添加,如果主键有值则尝试 Update,如果影响的行为 0 则尝试 Insert
+
+
+ 测试方法的执行顺序
+
+
+
+
+ 顺序
+
+
+
+
+ 单元测试的排序策略
+
+
+
+
+ 执行顺序
+
+
+
+
+
表中带点
diff --git a/FreeSql.Tests/FreeSql.Tests/SqlServer/Curd/SqlServerSelectWithTempQueryTest.cs b/FreeSql.Tests/FreeSql.Tests/SqlServer/Curd/SqlServerSelectWithTempQueryTest.cs
index 860bdb3e..2294ab2f 100644
--- a/FreeSql.Tests/FreeSql.Tests/SqlServer/Curd/SqlServerSelectWithTempQueryTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/SqlServer/Curd/SqlServerSelectWithTempQueryTest.cs
@@ -1,4 +1,5 @@
using FreeSql.DataAnnotations;
+using Microsoft.Data.SqlClient;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -10,6 +11,51 @@ namespace FreeSql.Tests.SqlServer
{
#region issues #1215
+ [Fact]
+ public void IssuesParameter01()
+ {
+ using (var fsql = new FreeSql.FreeSqlBuilder()
+ .UseConnectionFactory(FreeSql.DataType.SqlServer, () => new SqlConnection("Data Source=.;Integrated Security=True;Initial Catalog=issues684;Pooling=true;Max Pool Size=36;TrustServerCertificate=true"))
+ .UseAutoSyncStructure(true)
+ .UseGenerateCommandParameterWithLambda(true)
+ .Build())
+ {
+ fsql.Aop.CommandBefore += (_, e) =>
+ {
+
+ };
+ var qlrzjh = "qlrzjh";
+ var qzh = "qzh";
+ var sql = fsql.Select()
+ .Where(a => a.QLRZJHM == qlrzjh && a.QZH == qzh)
+ .GroupBy(a => new { a.QLRZJHM, a.QZH })
+ .WithTempQuery(g => new { BBH = g.Min(g.Value.BBH), g.Key })
+ .From()
+ .InnerJoin((a, b) => a.BBH == b.BBH && b.QLRZJHM == qlrzjh && b.QZH == qzh)
+ .ToSql((a, b) => b);
+ Assert.Equal(@"SELECT b.[QLRZJHM] as1, b.[QZH] as2, b.[BBH] as3
+FROM (
+ SELECT min(a.[BBH]) [BBH], a.[QLRZJHM], a.[QZH]
+ FROM [QLR_TO_LSH] a
+ WHERE (a.[QLRZJHM] = @exp_0 AND a.[QZH] = @exp_1)
+ GROUP BY a.[QLRZJHM], a.[QZH] ) a
+INNER JOIN [QLR_TO_LSH] b ON a.[BBH] = b.[BBH] AND b.[QLRZJHM] = N'qlrzjh' AND b.[QZH] = N'qzh'", sql);
+ fsql.Select()
+ .Where(a => a.QLRZJHM == qlrzjh && a.QZH == qzh)
+ .GroupBy(a => new { a.QLRZJHM, a.QZH })
+ .WithTempQuery(g => new { BBH = g.Min(g.Value.BBH), g.Key })
+ .From()
+ .InnerJoin((a, b) => a.BBH == b.BBH && b.QLRZJHM == qlrzjh && b.QZH == qzh)
+ .First();
+ }
+ }
+ class QLR_TO_LSH
+ {
+ public string QLRZJHM { get; set; }
+ public string QZH { get; set; }
+ public int BBH { get; set; }
+ }
+
[Fact]
public void VicDemo20220815()
{
diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/SelectGroupingProvider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/SelectGroupingProvider.cs
index c719221f..3ecf553e 100644
--- a/FreeSql/Internal/CommonProvider/SelectProvider/SelectGroupingProvider.cs
+++ b/FreeSql/Internal/CommonProvider/SelectProvider/SelectGroupingProvider.cs
@@ -247,6 +247,7 @@ namespace FreeSql.Internal.CommonProvider
ret._transaction = _select._transaction;
ret._whereGlobalFilter = new List(_select._whereGlobalFilter.ToArray());
ret._cancel = _select._cancel;
+ ret._params.AddRange(_select._params);
if (ret._tables[0].Table == null) ret._tables[0].Table = TableInfo.GetDefaultTable(typeof(TDto));
Select0Provider.WithTempQueryParser parser = null;
_addFieldAlias = true; //解决:[Column(Name = "flevel") 与属性名不一致时,嵌套查询 bug