mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 13:34:32 +08:00
Update exp to sql
This commit is contained in:
parent
75ef29f73b
commit
c0e3810c56
@ -281,6 +281,15 @@ namespace SqlSugar
|
||||
expression.NodeType != ExpressionType.Or &&
|
||||
expression.NodeType != ExpressionType.OrElse;
|
||||
}
|
||||
public static bool IsEqualOrLtOrGt(Expression expression)
|
||||
{
|
||||
return expression.NodeType== ExpressionType.Equal||
|
||||
expression.NodeType == ExpressionType.GreaterThan||
|
||||
expression.NodeType == ExpressionType.LessThan||
|
||||
expression.NodeType == ExpressionType.LessThanOrEqual ||
|
||||
expression.NodeType == ExpressionType.GreaterThanOrEqual
|
||||
;
|
||||
}
|
||||
public static object GetMemberValue(MemberInfo member, Expression expression)
|
||||
{
|
||||
var rootExpression = expression as MemberExpression;
|
||||
|
@ -244,7 +244,25 @@ namespace SqlSugar
|
||||
{
|
||||
this.Context.Parameters.AddRange(newContext.Parameters);
|
||||
}
|
||||
this.Context.Result.Append(this.Context.GetAsString(asName, newContext.Result.GetString()));
|
||||
if (ExpressionTool.IsEqualOrLtOrGt(item))
|
||||
{
|
||||
var sql = newContext.Result.GetString();
|
||||
var pTrue = AppendParameter(true);
|
||||
var pFalse = AppendParameter(false);
|
||||
sql =this.Context.DbMehtods.IIF(new MethodCallExpressionModel() {
|
||||
Args=new List<MethodCallExpressionArgs>()
|
||||
{
|
||||
new MethodCallExpressionArgs(){ MemberName=sql,MemberValue=sql,IsMember=true } ,
|
||||
new MethodCallExpressionArgs(){ MemberName=pTrue,MemberValue=pTrue,IsMember=true },
|
||||
new MethodCallExpressionArgs(){ MemberName=pFalse,MemberValue=pFalse,IsMember=true }
|
||||
}
|
||||
});
|
||||
this.Context.Result.Append(this.Context.GetAsString(asName, sql));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Context.Result.Append(this.Context.GetAsString(asName, newContext.Result.GetString()));
|
||||
}
|
||||
this.Context.Result.CurrentParameter = null;
|
||||
if (this.Context.SingleTableNameSubqueryShortName.IsNullOrEmpty() && newContext.SingleTableNameSubqueryShortName.HasValue())
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user