From aa17b6a9187f49a56775602178e8566096144fdd Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 13 Aug 2017 01:33:05 +0800 Subject: [PATCH] Time function BUG --- Src/Asp.Net/SqlServerTest/Demos/1_Query.cs | 2 ++ Src/Asp.Net/SqlServerTest/Program.cs | 34 +++++++++---------- .../UnitTest/ExpressionTest/Method.cs | 4 +-- .../Method/DefaultDbMethod.cs | 2 +- .../MethodCallExpressionResolve.cs | 4 ++- 5 files changed, 25 insertions(+), 21 deletions(-) diff --git a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs index c5ee31aed..cbedce321 100644 --- a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs +++ b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs @@ -184,6 +184,8 @@ namespace OrmTest.Demo var joinSql = db.Queryable("student", "s").OrderBy("id").Select("id,name").ToPageList(1, 2); var getDay1List = db.Queryable().Where(it=>it.CreateTime.Value.Hour==1).ToList(); + var getDateAdd = db.Queryable().Where(it => it.CreateTime.Value.AddDays(1)==DateTime.Now).ToList(); + var getDateIsSame= db.Queryable().Where(it => SqlFunc.DateIsSame(DateTime.Now,DateTime.Now,DateType.Hour)).ToList(); } public static void Page() { diff --git a/Src/Asp.Net/SqlServerTest/Program.cs b/Src/Asp.Net/SqlServerTest/Program.cs index 34f4f3679..b73a61cca 100644 --- a/Src/Asp.Net/SqlServerTest/Program.cs +++ b/Src/Asp.Net/SqlServerTest/Program.cs @@ -17,23 +17,23 @@ namespace OrmTest { static void Main(string[] args) { - //// /***Unit Test***/ - //new Select(1).Init(); - //new Field(1).Init(); - //new Where(1).Init(); - //new Method(1).Init(); - //new JoinQuery(1).Init(); - //new SingleQuery(1).Init(); - //new SelectQuery(1).Init(); - //new AutoClose(1).Init(); - //new Insert(1).Init(); - //new Delete(1).Init(); - //new Update(1).Init(); - //new Mapping(1).Init(); - //new DataTest(1).Init(); - //new EnumTest(1).Init(); - ///***Performance Test***/ - //new SqlSugarPerformance(100).Select(); + // /***Unit Test***/ + new Select(1).Init(); + new Field(1).Init(); + new Where(1).Init(); + new Method(1).Init(); + new JoinQuery(1).Init(); + new SingleQuery(1).Init(); + new SelectQuery(1).Init(); + new AutoClose(1).Init(); + new Insert(1).Init(); + new Delete(1).Init(); + new Update(1).Init(); + new Mapping(1).Init(); + new DataTest(1).Init(); + new EnumTest(1).Init(); + /***Performance Test***/ + new SqlSugarPerformance(100).Select(); /***Demo***/ OrmTest.Demo.Query.Init(); diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/ExpressionTest/Method.cs b/Src/Asp.Net/SqlServerTest/UnitTest/ExpressionTest/Method.cs index 96af4a5d0..804dd8f30 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/ExpressionTest/Method.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/ExpressionTest/Method.cs @@ -316,8 +316,8 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, " ((@MethodConst1(@MethodConst0)) = @Const2 ) ", new List() { - new SugarParameter("@MethodConst0",x2),new SugarParameter("@MethodConst1",DateType.Year),new SugarParameter("@Const2",1) + base.Check(value, pars, " (DateName(Year,@MethodConst0) = @Const2 ) ", new List() { + new SugarParameter("@MethodConst0",x2),new SugarParameter("@Const2",1) }, "DateValue error"); } diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Method/DefaultDbMethod.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Method/DefaultDbMethod.cs index edda2caa2..9d991b566 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Method/DefaultDbMethod.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Method/DefaultDbMethod.cs @@ -153,7 +153,7 @@ namespace SqlSugar { var parameter = model.Args[0]; var parameter2 = model.Args[1]; - return string.Format(" DateName({0},{1}) ", parameter2.MemberName, parameter.MemberName); + return string.Format(" DateName({0},{1}) ", parameter2.MemberValue, parameter.MemberName); } public virtual string ToInt32(MethodCallExpressionModel model) diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs index f9a82f750..028f39184 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs @@ -239,7 +239,9 @@ namespace SqlSugar return daResult; } case "DateValue": - return this.Context.DbMehtods.DateValue(model); + var dvResult= this.Context.DbMehtods.DateValue(model); + this.Context.Parameters.RemoveAll(it => it.ParameterName == model.Args[1].MemberName.ObjToString()); + return dvResult; case "Between": return this.Context.DbMehtods.Between(model); case "StartsWith":