Skip to content

Commit bb21f23

Browse files
committed
- 修复 子查询In ToList.Contains 开启参数化后可能丢失参数的 bug;UseGenerateCommandParameterWithLambda
1 parent 3a6f717 commit bb21f23

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

FreeSql/Internal/CommonExpression.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1452,7 +1452,12 @@ public string ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
14521452
}
14531453
break;
14541454
}
1455-
if (tsc.dbParams != null) fsqlSelect0._params = tsc.dbParams;
1455+
if (tsc.dbParams != null)
1456+
{
1457+
if (fsqlSelect0._params?.Any() == true)
1458+
tsc.dbParams.AddRange(fsqlSelect0._params);
1459+
fsqlSelect0._params = tsc.dbParams;
1460+
}
14561461
fsqltables = fsqlSelect0._tables;
14571462
//fsqltables[0].Alias = $"{tsc._tables[0].Alias}_{fsqltables[0].Alias}";
14581463
if (fsqltables != tsc._tables)
@@ -1607,7 +1612,12 @@ public string ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
16071612
fsql = method.Invoke(fsql, args);
16081613
fsqlType = fsql.GetType();
16091614
fsqlSelect0 = fsql as Select0Provider;
1610-
if (tsc.dbParams != null) fsqlSelect0._params = tsc.dbParams;
1615+
if (tsc.dbParams != null)
1616+
{
1617+
if (fsqlSelect0._params?.Any() == true)
1618+
tsc.dbParams.AddRange(fsqlSelect0._params);
1619+
fsqlSelect0._params = tsc.dbParams;
1620+
}
16111621
fsqltables = fsqlSelect0._tables;
16121622
fsqltable1SetAlias = false;
16131623
if (method.Name == nameof(ISelect<object>.WithTempQuery)) fsqltable1SetAliasGai = 0;

0 commit comments

Comments
 (0)