From f756b56aa060925e28e580a70d9d82fb7213c434 Mon Sep 17 00:00:00 2001
From: 2881099 <2881099@qq.com>
Date: Mon, 23 May 2022 13:19:59 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20IN=20=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2=E5=8C=BA=E5=88=86=20varchar/nvarchar=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
FreeSql.DbContext/FreeSql.DbContext.xml | 9 +++++++++
FreeSql/Internal/CommonExpression.cs | 2 ++
.../FreeSql.Provider.ClickHouse/ClickHouseExpression.cs | 2 ++
Providers/FreeSql.Provider.Custom/CustomExpression.cs | 2 ++
Providers/FreeSql.Provider.Dameng/DamengExpression.cs | 2 ++
.../FreeSql.Provider.Firebird/FirebirdExpression.cs | 2 ++
Providers/FreeSql.Provider.GBase/GBaseExpression.cs | 2 ++
.../FreeSql.Provider.KingbaseES/KingbaseESExpression.cs | 2 ++
.../FreeSql.Provider.MsAccess/MsAccessExpression.cs | 2 ++
Providers/FreeSql.Provider.MySql/MySqlExpression.cs | 2 ++
.../FreeSql.Provider.Odbc/Dameng/OdbcDamengExpression.cs | 2 ++
.../FreeSql.Provider.Odbc/Default/OdbcExpression.cs | 2 ++
.../KingbaseES/OdbcKingbaseESExpression.cs | 2 ++
.../FreeSql.Provider.Odbc/MySql/OdbcMySqlExpression.cs | 2 ++
.../FreeSql.Provider.Odbc/Oracle/OdbcOracleExpression.cs | 2 ++
.../PostgreSQL/OdbcPostgreSQLExpression.cs | 2 ++
.../SqlServer/OdbcSqlServerExpression.cs | 2 ++
Providers/FreeSql.Provider.Oracle/OracleExpression.cs | 2 ++
.../FreeSql.Provider.PostgreSQL/PostgreSQLExpression.cs | 2 ++
.../FreeSql.Provider.ShenTong/ShenTongExpression.cs | 2 ++
.../FreeSql.Provider.SqlServer/SqlServerExpression.cs | 2 ++
Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs | 2 ++
22 files changed, 51 insertions(+)
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 4335acb5..d34b34ef 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -786,5 +786,14 @@
+
+
+ 批量注入 Repository,可以参考代码自行调整
+
+
+
+
+
+
diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs
index 11de73f2..437190a9 100644
--- a/FreeSql/Internal/CommonExpression.cs
+++ b/FreeSql/Internal/CommonExpression.cs
@@ -1753,6 +1753,7 @@ namespace FreeSql.Internal
public Type mapType { get; set; }
public Type mapTypeTmp { get; set; }
public ColumnInfo mapColumnTmp { get; set; }
+ public bool isNotSetMapColumnTmp { get; set; }
public TableInfo currentTable { get; set; }
public List whereGlobalFilter { get; set; }
public List dbParams { get; set; }
@@ -1760,6 +1761,7 @@ namespace FreeSql.Internal
public ExpTSC SetMapColumnTmp(ColumnInfo col)
{
+ if (isNotSetMapColumnTmp) return this;
if (col == null)
{
this.mapTypeTmp = null;
diff --git a/Providers/FreeSql.Provider.ClickHouse/ClickHouseExpression.cs b/Providers/FreeSql.Provider.ClickHouse/ClickHouseExpression.cs
index b030df44..55335e94 100644
--- a/Providers/FreeSql.Provider.ClickHouse/ClickHouseExpression.cs
+++ b/Providers/FreeSql.Provider.ClickHouse/ClickHouseExpression.cs
@@ -121,7 +121,9 @@ namespace FreeSql.ClickHouse
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Custom/CustomExpression.cs b/Providers/FreeSql.Provider.Custom/CustomExpression.cs
index 93d8d1c8..ba9c2eda 100644
--- a/Providers/FreeSql.Provider.Custom/CustomExpression.cs
+++ b/Providers/FreeSql.Provider.Custom/CustomExpression.cs
@@ -123,7 +123,9 @@ namespace FreeSql.Custom
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Dameng/DamengExpression.cs b/Providers/FreeSql.Provider.Dameng/DamengExpression.cs
index cea449c3..1e95979d 100644
--- a/Providers/FreeSql.Provider.Dameng/DamengExpression.cs
+++ b/Providers/FreeSql.Provider.Dameng/DamengExpression.cs
@@ -123,7 +123,9 @@ namespace FreeSql.Dameng
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Firebird/FirebirdExpression.cs b/Providers/FreeSql.Provider.Firebird/FirebirdExpression.cs
index f19f2815..62eb7d34 100644
--- a/Providers/FreeSql.Provider.Firebird/FirebirdExpression.cs
+++ b/Providers/FreeSql.Provider.Firebird/FirebirdExpression.cs
@@ -110,7 +110,9 @@ namespace FreeSql.Firebird
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.GBase/GBaseExpression.cs b/Providers/FreeSql.Provider.GBase/GBaseExpression.cs
index bcee848a..ff33b7a5 100644
--- a/Providers/FreeSql.Provider.GBase/GBaseExpression.cs
+++ b/Providers/FreeSql.Provider.GBase/GBaseExpression.cs
@@ -110,7 +110,9 @@ namespace FreeSql.GBase
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.KingbaseES/KingbaseESExpression.cs b/Providers/FreeSql.Provider.KingbaseES/KingbaseESExpression.cs
index 2407ed64..6af86a75 100644
--- a/Providers/FreeSql.Provider.KingbaseES/KingbaseESExpression.cs
+++ b/Providers/FreeSql.Provider.KingbaseES/KingbaseESExpression.cs
@@ -147,7 +147,9 @@ namespace FreeSql.KingbaseES
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
//判断 in 或 array @> array
diff --git a/Providers/FreeSql.Provider.MsAccess/MsAccessExpression.cs b/Providers/FreeSql.Provider.MsAccess/MsAccessExpression.cs
index ff8fba6b..db6ae0a1 100644
--- a/Providers/FreeSql.Provider.MsAccess/MsAccessExpression.cs
+++ b/Providers/FreeSql.Provider.MsAccess/MsAccessExpression.cs
@@ -93,7 +93,9 @@ namespace FreeSql.MsAccess
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.MySql/MySqlExpression.cs b/Providers/FreeSql.Provider.MySql/MySqlExpression.cs
index 837682d4..68bd56a8 100644
--- a/Providers/FreeSql.Provider.MySql/MySqlExpression.cs
+++ b/Providers/FreeSql.Provider.MySql/MySqlExpression.cs
@@ -121,7 +121,9 @@ namespace FreeSql.MySql
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengExpression.cs b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengExpression.cs
index 0cd91f0f..326b75ac 100644
--- a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengExpression.cs
+++ b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengExpression.cs
@@ -123,7 +123,9 @@ namespace FreeSql.Odbc.Dameng
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Odbc/Default/OdbcExpression.cs b/Providers/FreeSql.Provider.Odbc/Default/OdbcExpression.cs
index 98dda2a9..b32281b8 100644
--- a/Providers/FreeSql.Provider.Odbc/Default/OdbcExpression.cs
+++ b/Providers/FreeSql.Provider.Odbc/Default/OdbcExpression.cs
@@ -123,7 +123,9 @@ namespace FreeSql.Odbc.Default
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESExpression.cs b/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESExpression.cs
index 1b881d30..2cb35cf0 100644
--- a/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESExpression.cs
+++ b/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESExpression.cs
@@ -147,7 +147,9 @@ namespace FreeSql.Odbc.KingbaseES
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
//判断 in 或 array @> array
diff --git a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlExpression.cs b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlExpression.cs
index 1536aa33..5374a82f 100644
--- a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlExpression.cs
+++ b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlExpression.cs
@@ -119,7 +119,9 @@ namespace FreeSql.Odbc.MySql
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleExpression.cs b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleExpression.cs
index 3a00f03c..809fbe60 100644
--- a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleExpression.cs
+++ b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleExpression.cs
@@ -123,7 +123,9 @@ namespace FreeSql.Odbc.Oracle
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLExpression.cs b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLExpression.cs
index 5b63b740..3a6a1431 100644
--- a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLExpression.cs
+++ b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLExpression.cs
@@ -147,7 +147,9 @@ namespace FreeSql.Odbc.PostgreSQL
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
//判断 in 或 array @> array
diff --git a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerExpression.cs b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerExpression.cs
index b2c41697..da6d86fb 100644
--- a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerExpression.cs
+++ b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerExpression.cs
@@ -129,7 +129,9 @@ namespace FreeSql.Odbc.SqlServer
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Oracle/OracleExpression.cs b/Providers/FreeSql.Provider.Oracle/OracleExpression.cs
index e6c33785..dd8f0098 100644
--- a/Providers/FreeSql.Provider.Oracle/OracleExpression.cs
+++ b/Providers/FreeSql.Provider.Oracle/OracleExpression.cs
@@ -123,7 +123,9 @@ namespace FreeSql.Oracle
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLExpression.cs b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLExpression.cs
index 524b550a..4f7f7755 100644
--- a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLExpression.cs
+++ b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLExpression.cs
@@ -178,7 +178,9 @@ namespace FreeSql.PostgreSQL
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
//判断 in 或 array @> array
diff --git a/Providers/FreeSql.Provider.ShenTong/ShenTongExpression.cs b/Providers/FreeSql.Provider.ShenTong/ShenTongExpression.cs
index 581a78da..59a80167 100644
--- a/Providers/FreeSql.Provider.ShenTong/ShenTongExpression.cs
+++ b/Providers/FreeSql.Provider.ShenTong/ShenTongExpression.cs
@@ -129,7 +129,9 @@ namespace FreeSql.ShenTong
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
//判断 in 或 array @> array
diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerExpression.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerExpression.cs
index 50d58186..dbe0a082 100644
--- a/Providers/FreeSql.Provider.SqlServer/SqlServerExpression.cs
+++ b/Providers/FreeSql.Provider.SqlServer/SqlServerExpression.cs
@@ -128,7 +128,9 @@ namespace FreeSql.SqlServer
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)
diff --git a/Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs b/Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs
index 53f561f3..5f3743c2 100644
--- a/Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs
+++ b/Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs
@@ -119,7 +119,9 @@ namespace FreeSql.Sqlite
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
+ tsc.isNotSetMapColumnTmp = true;
var left = objExp == null ? null : getExp(objExp);
+ tsc.isNotSetMapColumnTmp = false;
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
//tsc.SetDbParamsReturnOld(oldDbParams);
switch (callExp.Method.Name)