From 094cad7af5bb4fa006de437f144445f39df21dda Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 3 Apr 2024 08:37:25 +0800 Subject: [PATCH] Synchronization code --- .../ResolveItems/MethodCallExpressionResolve.cs | 10 +++++++++- .../ResolveItems/MethodCallExpressionResolve_Helper.cs | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs index b463eac84..5e2c554bd 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs @@ -164,7 +164,7 @@ namespace SqlSugar { var method = express.Method; string name = method.Name; - if (name == "Any" &&ExpressionTool.IsVariable(express.Arguments[0])) + if (name == "Any" &&ExpressionTool.IsVariable(express.Arguments[0])) { name = "ListAny"; } @@ -172,6 +172,10 @@ namespace SqlSugar { name = "ListAll"; } + else if (name == "IndexOf") + { + name = "CharIndexNew"; + } var args = express.Arguments.Cast().ToList(); MethodCallExpressionModel model = new MethodCallExpressionModel(); model.Args = new List(); @@ -180,6 +184,10 @@ namespace SqlSugar case ResolveExpressType.WhereSingle: case ResolveExpressType.WhereMultiple: Check.Exception(name == "GetSelfAndAutoFill", "SqlFunc.GetSelfAndAutoFill can only be used in Select."); + if (name == "CharIndexNew" && args.Count == 1) + { + args.Insert(0, express.Object); + } Where(parameter, isLeft, name, args, model); break; case ResolveExpressType.SelectSingle: diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs index ce23060fd..a8b3b6913 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs @@ -1012,6 +1012,10 @@ namespace SqlSugar { return true; } + if (expression.Method.Name == "IndexOf") + { + return true; + } if (expression.Method.Name == "CompareTo") { return true;