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.Or &&
|
||||||
expression.NodeType != ExpressionType.OrElse;
|
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)
|
public static object GetMemberValue(MemberInfo member, Expression expression)
|
||||||
{
|
{
|
||||||
var rootExpression = expression as MemberExpression;
|
var rootExpression = expression as MemberExpression;
|
||||||
|
@ -244,7 +244,25 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
this.Context.Parameters.AddRange(newContext.Parameters);
|
this.Context.Parameters.AddRange(newContext.Parameters);
|
||||||
}
|
}
|
||||||
|
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.Append(this.Context.GetAsString(asName, newContext.Result.GetString()));
|
||||||
|
}
|
||||||
this.Context.Result.CurrentParameter = null;
|
this.Context.Result.CurrentParameter = null;
|
||||||
if (this.Context.SingleTableNameSubqueryShortName.IsNullOrEmpty() && newContext.SingleTableNameSubqueryShortName.HasValue())
|
if (this.Context.SingleTableNameSubqueryShortName.IsNullOrEmpty() && newContext.SingleTableNameSubqueryShortName.HasValue())
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user