From fcf52f3998c9e3a7db016d4ceea0edb4748a9809 Mon Sep 17 00:00:00 2001 From: 28810 <28810@YEXIANGQIN> Date: Tue, 30 Jul 2019 18:31:39 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20Oracle=20=E8=A1=A8?= =?UTF-8?q?=E8=BE=BE=E5=BC=8F=20DateTime.Subtract(DateTime)=20=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=20bug=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql.Tests/FreeSql.Tests/UnitTest1.cs | 3 +++ Providers/FreeSql.Provider.Oracle/OracleExpression.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs index 29a072ab..2d38490e 100644 --- a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs +++ b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs @@ -341,6 +341,9 @@ namespace FreeSql.Tests [Fact] public void Test1() { + var kfkfjdfg = g.oracle.Select().Where(a => (DateTime.Now - a.EditTime).TotalMinutes > 100).ToSql(); + + g.oracle.Aop.SyncStructureAfter += (s, e) => Trace.WriteLine(e.Sql); diff --git a/Providers/FreeSql.Provider.Oracle/OracleExpression.cs b/Providers/FreeSql.Provider.Oracle/OracleExpression.cs index e4752a68..3dee8d3f 100644 --- a/Providers/FreeSql.Provider.Oracle/OracleExpression.cs +++ b/Providers/FreeSql.Provider.Oracle/OracleExpression.cs @@ -378,7 +378,7 @@ namespace FreeSql.Oracle case "Subtract": switch ((exp.Arguments[0].Type.IsNullableType() ? exp.Arguments[0].Type.GenericTypeArguments.FirstOrDefault() : exp.Arguments[0].Type).FullName) { - case "System.DateTime": return $"({args1}-{left})"; + case "System.DateTime": return $"numtodsinterval(({left}+0)-({args1}+0),'day')"; case "System.TimeSpan": return $"({left}-{args1})"; } break;