From b6f57147200620fbc3bf02f67c07dc57d5f97ac7 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 11 Jun 2023 21:51:48 +0800 Subject: [PATCH] Synchronization code --- .../Common/ExpressionContextCase.cs | 13 +++++++++++++ .../SqlSugar/ExpressionsToSql/ExpressionContext.cs | 1 + .../ResolveItems/MemberExpressionResolve.cs | 9 ++++++++- .../Sqlite/SqlBuilder/SqliteExpressionContext.cs | 3 +++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionContextCase.cs diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionContextCase.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionContextCase.cs new file mode 100644 index 000000000..f3efd54c9 --- /dev/null +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionContextCase.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SqlSugar +{ + public class ExpressionContextCase + { + public bool IsDateString { get; set; } + } +} diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ExpressionContext.cs index c72a49c79..227d7245a 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ExpressionContext.cs @@ -19,6 +19,7 @@ namespace SqlSugar #endregion #region Properties + public virtual ExpressionContextCase Case{ get; set; } public ExpressionOutParameter SugarContext { get; set; } public IDbMethods DbMehtods { diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs index 9fb156454..555792b3c 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs @@ -517,7 +517,14 @@ namespace SqlSugar var isConst = parameter.CommonTempData.GetType() == UtilConstants.DateType; if (isConst) { - AppendValue(parameter, isLeft, parameter.CommonTempData.ObjToDate().Date); + if (this.Context?.Case?.IsDateString==true) + { + AppendMember(parameter, isLeft, GetToDateShort("'" + parameter.CommonTempData.ObjToDate().Date.ToString("yyyy-MM-dd") + "'")); + } + else + { + AppendValue(parameter, isLeft, parameter.CommonTempData.ObjToDate().Date); + } } else { diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs index 711b6bc39..ff8e14f84 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs @@ -4,6 +4,9 @@ namespace SqlSugar { public class SqliteExpressionContext : ExpressionContext, ILambdaExpressions { + public override ExpressionContextCase Case { get; set; } = new ExpressionContextCase() { + IsDateString= true, + }; public SqlSugarProvider Context { get; set; } public SqliteExpressionContext() {