mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 13:06:50 +08:00
Update exp to sql
This commit is contained in:
parent
de0f4fa0ce
commit
83fc19f63b
@ -38,9 +38,9 @@ namespace OrmTest
|
|||||||
Ado();
|
Ado();
|
||||||
Queryable();
|
Queryable();
|
||||||
QueryableAsync();
|
QueryableAsync();
|
||||||
Thread();
|
//Thread();
|
||||||
Thread2();
|
//Thread2();
|
||||||
Thread3();
|
//Thread3();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,6 +84,17 @@ namespace OrmTest
|
|||||||
var list8=Db.Queryable<Order>().Where(it => SqlFunc.ContainsArrayUseSqlParameters(ids, it.Id)).ToList();
|
var list8=Db.Queryable<Order>().Where(it => SqlFunc.ContainsArrayUseSqlParameters(ids, it.Id)).ToList();
|
||||||
|
|
||||||
var result2 = Db.Queryable<Unit_SYS_USER>().Where(o => o.XH == UserLoginInfo.XH).Select(o => o.XH).ToSql();
|
var result2 = Db.Queryable<Unit_SYS_USER>().Where(o => o.XH == UserLoginInfo.XH).Select(o => o.XH).ToSql();
|
||||||
|
|
||||||
|
var x = Db.Queryable<BoolTest1>().Select(it => new BoolTest2()
|
||||||
|
{
|
||||||
|
a =it.a
|
||||||
|
}).ToSql();
|
||||||
|
UValidate.Check(x.Key, "SELECT [a] AS [a] FROM [BoolTest1] ", "Queryable");
|
||||||
|
x = Db.Queryable<BoolTest2>().Select(it => new BoolTest1()
|
||||||
|
{
|
||||||
|
a = it.a.Value
|
||||||
|
}).ToSql();
|
||||||
|
UValidate.Check(x.Key, "SELECT [a] AS [a] FROM [BoolTest2] ", "Queryable");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -360,4 +371,18 @@ namespace OrmTest
|
|||||||
public Guid? Id { get; set; }
|
public Guid? Id { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal class BoolTest1
|
||||||
|
{
|
||||||
|
public BoolTest1()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool a { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class BoolTest2
|
||||||
|
{
|
||||||
|
public bool? a { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -343,6 +343,10 @@ namespace SqlSugar
|
|||||||
this.Context.Result.IsLockCurrentParameter = true;
|
this.Context.Result.IsLockCurrentParameter = true;
|
||||||
parameter.IsAppendTempDate();
|
parameter.IsAppendTempDate();
|
||||||
this.Expression = item;
|
this.Expression = item;
|
||||||
|
if (IsBoolValue(item))
|
||||||
|
{
|
||||||
|
this.Expression = (item as MemberExpression).Expression;
|
||||||
|
}
|
||||||
this.Start();
|
this.Start();
|
||||||
parameter.IsAppendResult();
|
parameter.IsAppendResult();
|
||||||
this.Context.Result.Append(this.Context.GetAsString(asName, parameter.CommonTempData.ObjToString()));
|
this.Context.Result.Append(this.Context.GetAsString(asName, parameter.CommonTempData.ObjToString()));
|
||||||
@ -491,6 +495,16 @@ namespace SqlSugar
|
|||||||
Check.ThrowNotSupportedException(item.GetType().Name);
|
Check.ThrowNotSupportedException(item.GetType().Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static bool IsBoolValue(Expression item)
|
||||||
|
{
|
||||||
|
return item.Type == UtilConstants.BoolType &&
|
||||||
|
(item is MemberExpression) &&
|
||||||
|
(item as MemberExpression).Expression != null &&
|
||||||
|
(item as MemberExpression).Expression.Type == typeof(bool?) &&
|
||||||
|
(item as MemberExpression).Member.Name == "Value";
|
||||||
|
}
|
||||||
|
|
||||||
protected static bool IsConvert(Expression item)
|
protected static bool IsConvert(Expression item)
|
||||||
{
|
{
|
||||||
return item is UnaryExpression && item.NodeType == ExpressionType.Convert;
|
return item is UnaryExpression && item.NodeType == ExpressionType.Convert;
|
||||||
|
Loading…
Reference in New Issue
Block a user