mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- 修复 UseGenerateCommandParameterWithLambda(true) 问题;#1173 #900
This commit is contained in:
parent
fa9f995c9f
commit
81406ba37a
@ -418,6 +418,42 @@ namespace base_entity
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||||
|
dic.Add("id", 1);
|
||||||
|
dic.Add("name", "xxxx");
|
||||||
|
var diclist = new List<Dictionary<string, object>>();
|
||||||
|
diclist.Add(dic);
|
||||||
|
diclist.Add(new Dictionary<string, object>
|
||||||
|
{
|
||||||
|
["id"] = 2,
|
||||||
|
["name"] = "123,1234,123444"
|
||||||
|
});
|
||||||
|
|
||||||
|
var sqss = fsql.InsertDict(dic).AsTable("table1").ToSql();
|
||||||
|
var sqss2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
|
||||||
|
sqss = fsql.InsertDict(dic).AsTable("table1").NoneParameter(false).ToSql();
|
||||||
|
sqss2 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter(false).ToSql();
|
||||||
|
|
||||||
|
var sqlupd1 = fsql.UpdateDict(dic).AsTable("table1").WherePrimary("id").ToSql();
|
||||||
|
var sqlupd2 = fsql.UpdateDict(diclist).AsTable("table1").WherePrimary("id").ToSql();
|
||||||
|
var sqlupd11 = fsql.UpdateDict(dic).AsTable("table1").WherePrimary("id").NoneParameter(false).ToSql();
|
||||||
|
var sqlupd22 = fsql.UpdateDict(diclist).AsTable("table1").WherePrimary("id").NoneParameter(false).ToSql();
|
||||||
|
|
||||||
|
var sqldel1 = fsql.DeleteDict(dic).AsTable("table1").ToSql();
|
||||||
|
var sqldel2 = fsql.DeleteDict(diclist).AsTable("table1").ToSql();
|
||||||
|
diclist[1]["title"] = "newtitle";
|
||||||
|
var sqldel3 = fsql.DeleteDict(diclist).AsTable("table1").ToSql();
|
||||||
|
diclist.Clear();
|
||||||
|
diclist.Add(new Dictionary<string, object>
|
||||||
|
{
|
||||||
|
["id"] = 1
|
||||||
|
});
|
||||||
|
diclist.Add(new Dictionary<string, object>
|
||||||
|
{
|
||||||
|
["id"] = 2
|
||||||
|
});
|
||||||
|
var sqldel4 = fsql.DeleteDict(diclist).AsTable("table1").ToSql();
|
||||||
|
|
||||||
var sql1 = fsql.Select<User1, UserGroup>()
|
var sql1 = fsql.Select<User1, UserGroup>()
|
||||||
.RawJoin("FULL JOIN UserGroup b ON b.id = a.GroupId")
|
.RawJoin("FULL JOIN UserGroup b ON b.id = a.GroupId")
|
||||||
.Where((a, b) => a.IsDeleted == false)
|
.Where((a, b) => a.IsDeleted == false)
|
||||||
@ -748,41 +784,7 @@ namespace base_entity
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
|
||||||
dic.Add("id", 1);
|
|
||||||
dic.Add("name", "xxxx");
|
|
||||||
var diclist = new List<Dictionary<string, object>>();
|
|
||||||
diclist.Add(dic);
|
|
||||||
diclist.Add(new Dictionary<string, object>
|
|
||||||
{
|
|
||||||
["id"] = 2,
|
|
||||||
["name"] = "yyyy"
|
|
||||||
});
|
|
||||||
|
|
||||||
var sqss = fsql.InsertDict(dic).AsTable("table1").ToSql();
|
|
||||||
var sqss2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
|
|
||||||
sqss = fsql.InsertDict(dic).AsTable("table1").NoneParameter(false).ToSql();
|
|
||||||
sqss2 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter(false).ToSql();
|
|
||||||
|
|
||||||
var sqlupd1 = fsql.UpdateDict(dic).AsTable("table1").WherePrimary("id").ToSql();
|
|
||||||
var sqlupd2 = fsql.UpdateDict(diclist).AsTable("table1").WherePrimary("id").ToSql();
|
|
||||||
var sqlupd11 = fsql.UpdateDict(dic).AsTable("table1").WherePrimary("id").NoneParameter(false).ToSql();
|
|
||||||
var sqlupd22 = fsql.UpdateDict(diclist).AsTable("table1").WherePrimary("id").NoneParameter(false).ToSql();
|
|
||||||
|
|
||||||
var sqldel1 = fsql.DeleteDict(dic).AsTable("table1").ToSql();
|
|
||||||
var sqldel2 = fsql.DeleteDict(diclist).AsTable("table1").ToSql();
|
|
||||||
diclist[1]["title"] = "newtitle";
|
|
||||||
var sqldel3 = fsql.DeleteDict(diclist).AsTable("table1").ToSql();
|
|
||||||
diclist.Clear();
|
|
||||||
diclist.Add(new Dictionary<string, object>
|
|
||||||
{
|
|
||||||
["id"] = 1
|
|
||||||
});
|
|
||||||
diclist.Add(new Dictionary<string, object>
|
|
||||||
{
|
|
||||||
["id"] = 2
|
|
||||||
});
|
|
||||||
var sqldel4 = fsql.DeleteDict(diclist).AsTable("table1").ToSql();
|
|
||||||
|
|
||||||
|
|
||||||
for (var a = 0; a < 10000; a++)
|
for (var a = 0; a < 10000; a++)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using FreeSql.DataAnnotations;
|
using FreeSql.DataAnnotations;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
@ -180,6 +181,60 @@ WHERE (('name01' = a.""Name"" AND 1 = a.""Click"" OR a.""Click"" > 10) OR ('name
|
|||||||
var sql1133333 = select.Where(a => !inarray2n.Contains(a.Int)).ToList();
|
var sql1133333 = select.Where(a => !inarray2n.Contains(a.Int)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void ArrayUseGenerateCommandParameterWithLambda()
|
||||||
|
{
|
||||||
|
using (var fsql = new FreeSqlBuilder()
|
||||||
|
.UseConnectionString(DataType.Sqlite, "data source=:memory:")
|
||||||
|
.UseGenerateCommandParameterWithLambda(true)
|
||||||
|
.UseAutoSyncStructure(true)
|
||||||
|
.UseMonitorCommand(null, (cmd, log) => Trace.WriteLine(log))
|
||||||
|
.Build())
|
||||||
|
{
|
||||||
|
var arr = new[] { 1L, 2L, 3L }.Select(x => x);
|
||||||
|
var ids = arr.Select(x => x);
|
||||||
|
var sql001 = fsql.Select<TableAllType>().Where(x => ids.Contains(x.Id)).ToSql();
|
||||||
|
Assert.Equal(@"SELECT a.""Id"", a.""id2"", a.""Bool"", a.""SByte"", a.""Short"", a.""Int"", a.""Long"", a.""Byte"", a.""UShort"", a.""UInt"", a.""ULong"", a.""Double"", a.""Float"", a.""Decimal"", a.""TimeSpan"", a.""DateTime"", a.""DateTimeOffSet"", a.""Bytes"", a.""String"", a.""Guid"", a.""BoolNullable"", a.""SByteNullable"", a.""ShortNullable"", a.""IntNullable"", a.""testFielLongNullable"", a.""ByteNullable"", a.""UShortNullable"", a.""UIntNullable"", a.""ULongNullable"", a.""DoubleNullable"", a.""FloatNullable"", a.""DecimalNullable"", a.""TimeSpanNullable"", a.""DateTimeNullable"", a.""DateTimeOffSetNullable"", a.""GuidNullable"", a.""Enum1"", a.""Enum1Nullable"", a.""Enum2"", a.""Enum2Nullable""
|
||||||
|
FROM ""tb_alltype"" a
|
||||||
|
WHERE (((a.""Id"") in (1,2,3)))", sql001);
|
||||||
|
|
||||||
|
IEnumerable<int> testlinqlist = new List<int>(new[] { 1, 2, 3 });
|
||||||
|
var testlinq = fsql.Select<TableAllType>().Where(a => testlinqlist.Contains(a.Int)).ToList();
|
||||||
|
var testlinq2list = new string[] { };
|
||||||
|
var testlinq2 = g.sqlite.Delete<TableAllType>().Where(a => testlinq2list.Contains(a.String)).ToSql();
|
||||||
|
Assert.Equal("DELETE FROM \"tb_alltype\" WHERE (((\"String\") in (NULL)))", testlinq2);
|
||||||
|
|
||||||
|
//in not in
|
||||||
|
var sql111 = fsql.Select<TableAllType>().Where(a => new[] { 1, 2, 3 }.Contains(a.Int)).ToList();
|
||||||
|
var sql112 = fsql.Select<TableAllType>().Where(a => new[] { 1, 2, 3 }.Contains(a.Int) == false).ToList();
|
||||||
|
var sql113 = fsql.Select<TableAllType>().Where(a => !new[] { 1, 2, 3 }.Contains(a.Int)).ToList();
|
||||||
|
|
||||||
|
var inarray = new[] { 1, 2, 3 };
|
||||||
|
var sql1111 = fsql.Select<TableAllType>().Where(a => inarray.Contains(a.Int)).ToList();
|
||||||
|
var sql1122 = fsql.Select<TableAllType>().Where(a => inarray.Contains(a.Int) == false).ToList();
|
||||||
|
var sql1133 = fsql.Select<TableAllType>().Where(a => !inarray.Contains(a.Int)).ToList();
|
||||||
|
|
||||||
|
//in not in
|
||||||
|
var sql11111 = fsql.Select<TableAllType>().Where(a => new List<int>() { 1, 2, 3 }.Contains(a.Int)).ToList();
|
||||||
|
var sql11222 = fsql.Select<TableAllType>().Where(a => new List<int>() { 1, 2, 3 }.Contains(a.Int) == false).ToList();
|
||||||
|
var sql11333 = fsql.Select<TableAllType>().Where(a => !new List<int>() { 1, 2, 3 }.Contains(a.Int)).ToList();
|
||||||
|
|
||||||
|
var sql11111a = fsql.Select<TableAllType>().Where(a => new List<int>(new[] { 1, 2, 3 }).Contains(a.Int)).ToList();
|
||||||
|
var sql11222b = fsql.Select<TableAllType>().Where(a => new List<int>(new[] { 1, 2, 3 }).Contains(a.Int) == false).ToList();
|
||||||
|
var sql11333c = fsql.Select<TableAllType>().Where(a => !new List<int>(new[] { 1, 2, 3 }).Contains(a.Int)).ToList();
|
||||||
|
|
||||||
|
var inarray2 = new List<int>() { 1, 2, 3 };
|
||||||
|
var sql111111 = fsql.Select<TableAllType>().Where(a => inarray.Contains(a.Int)).ToList();
|
||||||
|
var sql112222 = fsql.Select<TableAllType>().Where(a => inarray.Contains(a.Int) == false).ToList();
|
||||||
|
var sql113333 = fsql.Select<TableAllType>().Where(a => !inarray.Contains(a.Int)).ToList();
|
||||||
|
|
||||||
|
var inarray2n = Enumerable.Range(1, 3333).ToArray();
|
||||||
|
var sql1111111 = fsql.Select<TableAllType>().Where(a => inarray2n.Contains(a.Int)).ToList();
|
||||||
|
var sql1122222 = fsql.Select<TableAllType>().Where(a => inarray2n.Contains(a.Int) == false).ToList();
|
||||||
|
var sql1133333 = fsql.Select<TableAllType>().Where(a => !inarray2n.Contains(a.Int)).ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Table(Name = "tb_alltype")]
|
[Table(Name = "tb_alltype")]
|
||||||
class TableAllType
|
class TableAllType
|
||||||
{
|
{
|
||||||
|
@ -120,12 +120,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,12 +122,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,12 +122,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -109,12 +109,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -109,12 +109,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -146,12 +146,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) 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,12 +92,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -120,12 +120,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,12 +122,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,12 +122,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -146,12 +146,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) 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,12 +118,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,12 +122,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -146,12 +146,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) 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,12 +128,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -122,12 +122,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -177,12 +177,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) 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,12 +128,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
left = objExp == null ? null : getExp(objExp);
|
left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) 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,12 +127,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
@ -118,12 +118,12 @@ 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); #900 UseGenerateCommandParameterWithLambda(true) 子查询 bug
|
var oldDbParams = objExp.NodeType == ExpressionType.MemberAccess ? tsc.SetDbParamsReturnOld(null) : null; //#900 UseGenerateCommandParameterWithLambda(true) 子查询 bug、以及 #1173 参数化 bug
|
||||||
tsc.isNotSetMapColumnTmp = true;
|
tsc.isNotSetMapColumnTmp = true;
|
||||||
var left = objExp == null ? null : getExp(objExp);
|
var left = objExp == null ? null : getExp(objExp);
|
||||||
tsc.isNotSetMapColumnTmp = false;
|
tsc.isNotSetMapColumnTmp = false;
|
||||||
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
tsc.SetMapColumnTmp(null).SetMapTypeReturnOld(oldMapType);
|
||||||
//tsc.SetDbParamsReturnOld(oldDbParams);
|
if (oldDbParams != null) tsc.SetDbParamsReturnOld(oldDbParams);
|
||||||
switch (callExp.Method.Name)
|
switch (callExp.Method.Name)
|
||||||
{
|
{
|
||||||
case "Contains":
|
case "Contains":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user