From cd241b39b2237c60002848bab8d03d44d8fe1f91 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 15 Apr 2019 12:32:02 +0800 Subject: [PATCH] Update Expression to sql --- Src/Asp.Net/SqlServerTest/Config.cs | 6 +++--- Src/Asp.Net/SqlServerTest/Demos/1_Query.cs | 2 ++ .../ResolveItems/MethodCallExpressionResolve.cs | 8 +++++++- Src/Asp.Net/SqlSugar/SqlSugarClient.cs | 8 ++++---- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Src/Asp.Net/SqlServerTest/Config.cs b/Src/Asp.Net/SqlServerTest/Config.cs index 95d8f3261..d90121c15 100644 --- a/Src/Asp.Net/SqlServerTest/Config.cs +++ b/Src/Asp.Net/SqlServerTest/Config.cs @@ -8,8 +8,8 @@ namespace OrmTest { public class Config { - public static string ConnectionString = "server=.;uid=sa;pwd=haosql;database=SQLSUGAR4XTEST"; - public static string ConnectionString2 = "server=.;uid=sa;pwd=haosql;database=sqlsugar4xtest"; - public static string ConnectionString3 = "server=.;uid=sa;pwd=haosql;database=sqlsugar4xtesT"; + public static string ConnectionString = "server=.;uid=sa;pwd=@jhl85661501;database=SQLSUGAR4XTEST"; + public static string ConnectionString2 = "server=.;uid=sa;pwd=@jhl85661501;database=sqlsugar4xtest"; + public static string ConnectionString3 = "server=.;uid=sa;pwd=@jhl85661501;database=sqlsugar4xtesT"; } } diff --git a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs index a92ad3176..3ff59f3e7 100644 --- a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs +++ b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs @@ -445,6 +445,8 @@ namespace OrmTest.Demo var test45 = db.Queryable().Select(it => new { x =p }).ToList(); + var test46 = db.Queryable().Where(it => it.CreateTime > SqlFunc.ToDate(DateTime.Now.Date)).ToList(); + //var test47 = db.Queryable().Where(it =>string.IsNullOrEmpty(it.Name)==true).ToList(); } public static void Page() { diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs index 58f028553..dfb4abde2 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs @@ -386,7 +386,13 @@ namespace SqlSugar { parameter.CommonTempData = CommonTempDataType.Result; base.Expression = item; - base.Start(); + if (item.Type == UtilConstants.DateType && parameter.CommonTempData.ObjToString() == CommonTempDataType.Result.ToString() && item.ToString() == "DateTime.Now.Date") + { + parameter.CommonTempData = DateTime.Now.Date; + } + else { + base.Start(); + } var methodCallExpressionArgs = new MethodCallExpressionArgs() { IsMember = parameter.ChildExpression is MemberExpression && !ExpressionTool.IsConstExpression(parameter.ChildExpression as MemberExpression), diff --git a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs index 772fd4b5b..6d266b049 100644 --- a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs +++ b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs @@ -836,10 +836,10 @@ namespace SqlSugar var newName = itemParameter.ParameterName + "_q_" + index; SugarParameter parameter = new SugarParameter(newName, itemParameter.Value); parameter.DbType = itemParameter.DbType; - itemSql = Regex.Replace(itemSql,string.Format(@"{0} ","\\"+itemParameter.ParameterName), newName+" "); - itemSql = Regex.Replace(itemSql, string.Format(@"{0}\)", "\\" + itemParameter.ParameterName), newName+")"); - itemSql = Regex.Replace(itemSql, string.Format(@"{0}\,", "\\" + itemParameter.ParameterName), newName+","); - itemSql = Regex.Replace(itemSql, string.Format(@"{0}$", "\\" + itemParameter.ParameterName), newName); + itemSql = Regex.Replace(itemSql,string.Format(@"{0} ","\\"+itemParameter.ParameterName), newName+" ",RegexOptions.IgnoreCase); + itemSql = Regex.Replace(itemSql, string.Format(@"{0}\)", "\\" + itemParameter.ParameterName), newName+")", RegexOptions.IgnoreCase); + itemSql = Regex.Replace(itemSql, string.Format(@"{0}\,", "\\" + itemParameter.ParameterName), newName+",", RegexOptions.IgnoreCase); + itemSql = Regex.Replace(itemSql, string.Format(@"{0}$", "\\" + itemParameter.ParameterName), newName, RegexOptions.IgnoreCase); addParameters.Add(parameter); } parsmeters.AddRange(addParameters);