Update exp to sql

This commit is contained in:
sunkaixuan 2023-04-12 13:05:27 +08:00
parent 88912d6d03
commit a3f1ccf23c
3 changed files with 14 additions and 0 deletions

View File

@ -8,6 +8,12 @@ namespace SqlSugar
{
public class ExpressionTool
{
public static bool IsVariable(Expression expr)
{
var ps = new ParameterExpressionVisitor();
ps.Visit(expr);
return ps.Parameters.Count==0;
}
public static bool IsComparisonOperatorBool(BinaryExpression binaryExp)
{
return binaryExp.NodeType.IsIn(ExpressionType.Equal,

View File

@ -160,6 +160,10 @@ namespace SqlSugar
{
var method = express.Method;
string name = method.Name;
if (name == "Any" &&ExpressionTool.IsVariable(express.Arguments[0]))
{
name = "ListAny";
}
var args = express.Arguments.Cast<Expression>().ToList();
MethodCallExpressionModel model = new MethodCallExpressionModel();
model.Args = new List<MethodCallExpressionArgs>();

View File

@ -858,6 +858,10 @@ namespace SqlSugar
{
return true;
}
if (expression.Method.Name == "Any"&& ExpressionTool.IsVariable(expression.Arguments[0]) )
{
return true;
}
if (expression.Method.Name == "Format" && expression.Method.DeclaringType == UtilConstants.StringType)
{
return true;