Exp to sql (Ternary expression precompilation)

This commit is contained in:
sunkaixuan
2025-04-27 12:32:52 +08:00
parent 75985907ea
commit 64055d26cc

View File

@@ -17,6 +17,27 @@ namespace SqlSugar
express.IfTrue,
express.IfFalse
};
if (express.Test is MemberExpression memberExpression)
{
var ps= ExpressionTool.GetParameters(express.Test);
if (ps?.Count == 0)
{
var value= ExpressionTool.DynamicInvoke(express.Test);
if (value is bool boolValue)
{
if (boolValue)
{
args[2] = express.IfTrue;
args[1] = express.IfTrue;
}
else
{
args[1] = express.IfFalse;
args[2] = express.IfFalse;
}
}
}
}
if (IsBoolMember(express))
{
Expression trueValue = Expression.Constant(true);