mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- 修复 UseGenerateCommandParameterWithLambda 子查询 IN bug;#900
This commit is contained in:
parent
a979f96bff
commit
bcc9483eca
@ -3,7 +3,7 @@
|
|||||||
Public Class g
|
Public Class g
|
||||||
|
|
||||||
Shared sqlserverLazy As Lazy(Of IFreeSql) = New Lazy(Of IFreeSql)(New Func(Of IFreeSql)(Function() New FreeSqlBuilder() _
|
Shared sqlserverLazy As Lazy(Of IFreeSql) = New Lazy(Of IFreeSql)(New Func(Of IFreeSql)(Function() New FreeSqlBuilder() _
|
||||||
.UseConnectionString(DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3") _
|
.UseConnectionString(DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true") _
|
||||||
.UseAutoSyncStructure(True) _
|
.UseAutoSyncStructure(True) _
|
||||||
.UseMonitorCommand(Sub(cmd) Trace.WriteLine(vbCrLf & "线程" & Thread.CurrentThread.ManagedThreadId & ": " & cmd.CommandText)) _
|
.UseMonitorCommand(Sub(cmd) Trace.WriteLine(vbCrLf & "线程" & Thread.CurrentThread.ManagedThreadId & ": " & cmd.CommandText)) _
|
||||||
.UseLazyLoading(True) _
|
.UseLazyLoading(True) _
|
||||||
|
@ -8,7 +8,7 @@ public class g
|
|||||||
{
|
{
|
||||||
|
|
||||||
static Lazy<IFreeSql> sqlserverLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
|
static Lazy<IFreeSql> sqlserverLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
|
||||||
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=10")
|
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=10;TrustServerCertificate=true")
|
||||||
.UseAutoSyncStructure(true)
|
.UseAutoSyncStructure(true)
|
||||||
.UseMonitorCommand(
|
.UseMonitorCommand(
|
||||||
cmd =>
|
cmd =>
|
||||||
|
@ -6,7 +6,7 @@ using Xunit;
|
|||||||
namespace FreeSql.Tests.AdoNetExtensions.SqlConnectionExtensions {
|
namespace FreeSql.Tests.AdoNetExtensions.SqlConnectionExtensions {
|
||||||
public class Methods {
|
public class Methods {
|
||||||
|
|
||||||
string _connectString = "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=5";
|
string _connectString = "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=5;TrustServerCertificate=true";
|
||||||
|
|
||||||
public Methods() {
|
public Methods() {
|
||||||
g.sqlserver.CodeFirst.SyncStructure<TestConnectionExt>();
|
g.sqlserver.CodeFirst.SyncStructure<TestConnectionExt>();
|
||||||
|
@ -11,7 +11,7 @@ namespace FreeSql.Tests.DataContext.SqlServer
|
|||||||
public SqlServerFixture()
|
public SqlServerFixture()
|
||||||
{
|
{
|
||||||
sqlServerLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
|
sqlServerLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
|
||||||
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=2")
|
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=2;TrustServerCertificate=true")
|
||||||
//.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=(localdb)\\mssqllocaldb;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=10")
|
//.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=(localdb)\\mssqllocaldb;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=10")
|
||||||
.UseAutoSyncStructure(true)
|
.UseAutoSyncStructure(true)
|
||||||
.UseLazyLoading(true)
|
.UseLazyLoading(true)
|
||||||
|
@ -18,7 +18,7 @@ namespace FreeSql.Tests
|
|||||||
public void WithLambdaParameter01()
|
public void WithLambdaParameter01()
|
||||||
{
|
{
|
||||||
using (var fsql = new FreeSql.FreeSqlBuilder()
|
using (var fsql = new FreeSql.FreeSqlBuilder()
|
||||||
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=6")
|
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=6;TrustServerCertificate=true")
|
||||||
.UseAutoSyncStructure(true)
|
.UseAutoSyncStructure(true)
|
||||||
.UseGenerateCommandParameterWithLambda(true)
|
.UseGenerateCommandParameterWithLambda(true)
|
||||||
.UseMonitorCommand(
|
.UseMonitorCommand(
|
||||||
@ -339,7 +339,7 @@ GROUP BY a.""code"", a.""seqid"", a.""name""", sql);
|
|||||||
public void SelectLambdaParameter()
|
public void SelectLambdaParameter()
|
||||||
{
|
{
|
||||||
using (var fsql = new FreeSql.FreeSqlBuilder()
|
using (var fsql = new FreeSql.FreeSqlBuilder()
|
||||||
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;min pool size=1;Max Pool Size=51")
|
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;min pool size=1;Max Pool Size=51;TrustServerCertificate=true")
|
||||||
.UseAutoSyncStructure(true)
|
.UseAutoSyncStructure(true)
|
||||||
.UseGenerateCommandParameterWithLambda(true)
|
.UseGenerateCommandParameterWithLambda(true)
|
||||||
.UseMonitorCommand(
|
.UseMonitorCommand(
|
||||||
|
@ -16,6 +16,53 @@ namespace FreeSql.Tests
|
|||||||
{
|
{
|
||||||
public class UnitTest5
|
public class UnitTest5
|
||||||
{
|
{
|
||||||
|
[Fact]
|
||||||
|
public void TestLambdaParameterWhereIn()
|
||||||
|
{
|
||||||
|
using (var fsql = new FreeSql.FreeSqlBuilder()
|
||||||
|
.UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=|DataDirectory|\TestLambdaParameterWhereIn.db")
|
||||||
|
.UseAutoSyncStructure(true)
|
||||||
|
.UseGenerateCommandParameterWithLambda(true)
|
||||||
|
.UseLazyLoading(true)
|
||||||
|
.UseMonitorCommand(
|
||||||
|
cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " + cmd.CommandText) //监听SQL命令对象,在执行前
|
||||||
|
//, (cmd, traceLog) => Console.WriteLine(traceLog)
|
||||||
|
)
|
||||||
|
.Build())
|
||||||
|
{
|
||||||
|
|
||||||
|
string dwId = "123456";
|
||||||
|
string yhId = "654321";
|
||||||
|
|
||||||
|
var sql = fsql.Select<wygl_wygs_gzry_wyglqyModelTest1>()
|
||||||
|
.Where(a => a.dw_id == dwId &&
|
||||||
|
fsql.Select<wygl_wygs_gzry_wyglqyModel>()
|
||||||
|
.Where(b => b.yh_id == yhId).ToList(b => b.wyqy_id).Contains(a.wyqy_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
var sql1 = sql.ToSql();
|
||||||
|
Assert.Equal(@"SELECT a.""dw_id"", a.""wyqy_id""
|
||||||
|
FROM ""wygl_wygs_gzry_wyglqyModelTest1"" a
|
||||||
|
WHERE (a.""dw_id"" = @exp_0 AND ((a.""wyqy_id"") in (SELECT b.""wyqy_id""
|
||||||
|
FROM ""wygl_wygs_gzry_wyglqyModel"" b
|
||||||
|
WHERE (b.""yh_id"" = @exp_1))))", sql1);
|
||||||
|
Assert.Equal(2, (sql as Select0Provider)._params.Count);
|
||||||
|
Assert.Equal("123456", (sql as Select0Provider)._params[0].Value);
|
||||||
|
Assert.Equal("654321", (sql as Select0Provider)._params[1].Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class wygl_wygs_gzry_wyglqyModelTest1
|
||||||
|
{
|
||||||
|
public string dw_id { get; set; }
|
||||||
|
public string wyqy_id { get; set; }
|
||||||
|
}
|
||||||
|
class wygl_wygs_gzry_wyglqyModel
|
||||||
|
{
|
||||||
|
public string yh_id { get; set; }
|
||||||
|
public string wyqy_id { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void TestJsonb01()
|
public void TestJsonb01()
|
||||||
|
@ -54,7 +54,7 @@ public class g
|
|||||||
public static IFreeSql pgsql => pgsqlLazy.Value;
|
public static IFreeSql pgsql => pgsqlLazy.Value;
|
||||||
|
|
||||||
static Lazy<IFreeSql> sqlserverLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
|
static Lazy<IFreeSql> sqlserverLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
|
||||||
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=issues684;Pooling=true;Max Pool Size=3")
|
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=issues684;Pooling=true;Max Pool Size=3;TrustServerCertificate=true")
|
||||||
.UseAutoSyncStructure(true)
|
.UseAutoSyncStructure(true)
|
||||||
.UseMonitorCommand(
|
.UseMonitorCommand(
|
||||||
cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " + cmd.CommandText) //监听SQL命令对象,在执行前
|
cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " + cmd.CommandText) //监听SQL命令对象,在执行前
|
||||||
|
@ -120,10 +120,10 @@ namespace FreeSql.ClickHouse
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,10 +122,10 @@ namespace FreeSql.Custom
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,10 +122,10 @@ namespace FreeSql.Dameng
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -109,10 +109,10 @@ namespace FreeSql.Firebird
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -109,10 +109,10 @@ namespace FreeSql.GBase
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -146,10 +146,10 @@ namespace FreeSql.KingbaseES
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
//判断 in 或 array @> array
|
//判断 in 或 array @> array
|
||||||
if (left.StartsWith("array[") || left.EndsWith("]"))
|
if (left.StartsWith("array[") || left.EndsWith("]"))
|
||||||
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
||||||
|
@ -92,10 +92,10 @@ namespace FreeSql.MsAccess
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -120,10 +120,10 @@ namespace FreeSql.MySql
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,10 +122,10 @@ namespace FreeSql.Odbc.Dameng
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,10 +122,10 @@ namespace FreeSql.Odbc.Default
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -146,10 +146,10 @@ namespace FreeSql.Odbc.KingbaseES
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
//判断 in 或 array @> array
|
//判断 in 或 array @> array
|
||||||
if (left.StartsWith("array[") || left.EndsWith("]"))
|
if (left.StartsWith("array[") || left.EndsWith("]"))
|
||||||
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
||||||
|
@ -118,10 +118,10 @@ namespace FreeSql.Odbc.MySql
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,10 +122,10 @@ namespace FreeSql.Odbc.Oracle
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -146,10 +146,10 @@ namespace FreeSql.Odbc.PostgreSQL
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
//判断 in 或 array @> array
|
//判断 in 或 array @> array
|
||||||
if (left.StartsWith("array[") || left.EndsWith("]"))
|
if (left.StartsWith("array[") || left.EndsWith("]"))
|
||||||
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
||||||
|
@ -128,10 +128,10 @@ namespace FreeSql.Odbc.SqlServer
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,10 +122,10 @@ namespace FreeSql.Oracle
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -177,10 +177,10 @@ namespace FreeSql.PostgreSQL
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
//判断 in 或 array @> array
|
//判断 in 或 array @> array
|
||||||
if (left.StartsWith("array[") || left.EndsWith("]"))
|
if (left.StartsWith("array[") || left.EndsWith("]"))
|
||||||
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
||||||
|
@ -128,10 +128,10 @@ namespace FreeSql.ShenTong
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
//判断 in 或 array @> array
|
//判断 in 或 array @> array
|
||||||
if (left.StartsWith("array[") || left.EndsWith("]"))
|
if (left.StartsWith("array[") || left.EndsWith("]"))
|
||||||
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
return $"({args1}) in ({left.Substring(6, left.Length - 7)})";
|
||||||
|
@ -127,10 +127,10 @@ namespace FreeSql.SqlServer
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -118,10 +118,10 @@ namespace FreeSql.Sqlite
|
|||||||
tsc.SetMapColumnTmp(null);
|
tsc.SetMapColumnTmp(null);
|
||||||
var args1 = getExp(callExp.Arguments[argIndex]);
|
var args1 = getExp(callExp.Arguments[argIndex]);
|
||||||
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
var oldMapType = tsc.SetMapTypeReturnOld(tsc.mapTypeTmp);
|
||||||
var oldDbParams = tsc.SetDbParamsReturnOld(null);
|
//var oldDbParams = tsc.SetDbParamsReturnOld(null); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
tsc.SetDbParamsReturnOld(oldDbParams);
|
//tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user