From b623a08735a57652a920cb56930ddfb32589809e Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 15 Jun 2017 10:08:08 +0800 Subject: [PATCH] Suport Collections.Generic --- SqlServerTest/UnitTest/ExpressionTest/Method.cs | 2 +- .../ResolveItems/MethodCallExpressionResolve.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SqlServerTest/UnitTest/ExpressionTest/Method.cs b/SqlServerTest/UnitTest/ExpressionTest/Method.cs index 0f56cc600..cf40bc647 100644 --- a/SqlServerTest/UnitTest/ExpressionTest/Method.cs +++ b/SqlServerTest/UnitTest/ExpressionTest/Method.cs @@ -430,7 +430,7 @@ namespace OrmTest.UnitTest } private void ExtendContainsArray() { - string[] array = new string[] { "1", "2" }; + var array = new string[] { "1", "2" }.ToList(); Expression> exp = it => array.Contains(it.Name); SqlServerExpressionContext expContext = new SqlServerExpressionContext(); expContext.Resolve(exp, ResolveExpressType.WhereSingle); diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs index 2d02654a2..ab4c67507 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs @@ -15,7 +15,7 @@ namespace SqlSugar var isLeft = parameter.IsLeft; string methodName = express.Method.Name; var isValidNativeMethod = MethodMapping.ContainsKey(methodName)&&express.Method.DeclaringType.Namespace==("System"); - if (!isValidNativeMethod&&express.Method.DeclaringType.Namespace== "System.Linq"&&methodName=="Contains") { + if (!isValidNativeMethod&&express.Method.DeclaringType.Namespace.IsIn("System.Linq", "System.Collections.Generic")&&methodName=="Contains") { methodName = "ContainsArray"; isValidNativeMethod = true; }