diff --git a/Src/Asp.Net/OracleTest/Program.cs b/Src/Asp.Net/OracleTest/Program.cs index 6b44bdf48..50d27b69c 100644 --- a/Src/Asp.Net/OracleTest/Program.cs +++ b/Src/Asp.Net/OracleTest/Program.cs @@ -17,7 +17,7 @@ namespace OrmTest { static void Main(string[] args) { - throw new Exception("Oracle developed 75%,to be continued"); + //throw new Exception("Oracle developed 75%,to be continued"); // /***Unit Test***/ new Select(1).Init(); diff --git a/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs b/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs index 94099629c..de52b57ce 100644 --- a/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs +++ b/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs @@ -363,8 +363,8 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "((:MethodConst0+1.15740740740741E-08) = :Const3 )", new List() { - new SugarParameter(":Const2",x2) , + base.Check(value, pars, "((:MethodConst0+(1.15740740740741E-08*:MethodConst1)) = :Const3 )", new List() { + new SugarParameter(":Const3",x2) , new SugarParameter(":MethodConst0",x2), new SugarParameter(":MethodConst1",11) }, "DateAddByType error"); @@ -377,41 +377,13 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "((:MethodConst0+1) = :Const2 )", new List() { + base.Check(value, pars, "((:MethodConst0+(1*:MethodConst1)) = :Const2 )", new List() { new SugarParameter(":MethodConst0",x2),new SugarParameter(":MethodConst1",1),new SugarParameter(":Const2",x2) }, "DateAddDay error"); - DateAddDay2(); - DateAddDay3(); - } - - private void DateAddDay2() - { - var x2 = DateTime.Now; - Expression> exp = it =>it.Datetime2.Value.AddHours(10) == x2; - OracleExpressionContext expContext = new OracleExpressionContext(); - expContext.Resolve(exp, ResolveExpressType.WhereSingle); - var value = expContext.Result.GetString(); - var pars = expContext.Parameters; - base.Check(value, pars, "((\"DATETIME2\"+0.0416666666666667) = :Const2 )", new List() { - new SugarParameter(":Const2",x2), - new SugarParameter(":MethodConst1",10) - }, "DateAddDay2 error"); - } - - private void DateAddDay3() - { - var x2 = DateTime.Now; - Expression> exp = it => x2.AddHours(1) == x2; - OracleExpressionContext expContext = new OracleExpressionContext(); - expContext.Resolve(exp, ResolveExpressType.WhereSingle); - var value = expContext.Result.GetString(); - var pars = expContext.Parameters; - base.Check(value, pars, "((:MethodConst1+0.0416666666666667) = :Const3 )", new List() { - new SugarParameter(":MethodConst1",x2),new SugarParameter(":MethodConst2",1),new SugarParameter(":Const3",x2) - }, "DateAddDay3 error"); } + private void DateIsSameByType() { var x2 = DateTime.Now; @@ -420,7 +392,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, " ROUND(TO_NUMBER(:MethodConst0 - :MethodConst1) * 86400000) ", new List() { + base.Check(value, pars, " (ROUND(TO_NUMBER(:MethodConst0 - :MethodConst1) * 86400000) = 0) ", new List() { new SugarParameter(":MethodConst0",x2),new SugarParameter(":MethodConst1",x2) }, "DateIsSameByType error"); } @@ -432,7 +404,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, " ROUND(TO_NUMBER(:MethodConst0 - :MethodConst1)) ", new List() { + base.Check(value, pars, " (ROUND(TO_NUMBER(:MethodConst0 - :MethodConst1))=0) ", new List() { new SugarParameter(":MethodConst0",x2),new SugarParameter(":MethodConst1",x2) }, "DateIsSameDay error"); } diff --git a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs index 0fd257758..1766ae9e0 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs @@ -70,14 +70,14 @@ namespace SqlSugar time = 1 / 24.0 / 60.0 / 60.0/1000; break; } - return string.Format("({0}+{1}) ", parameter.MemberName, time); + return string.Format("({0}+({1}*{2})) ", parameter.MemberName, time,parameter2.MemberName); } public override string DateAddDay(MethodCallExpressionModel model) { var parameter = model.Args[0]; var parameter2 = model.Args[1]; - return string.Format("({0}+1) ", parameter.MemberName); + return string.Format("({0}+(1*{1})) ", parameter.MemberName, parameter2.MemberName); } public override string ToString(MethodCallExpressionModel model) @@ -118,7 +118,7 @@ namespace SqlSugar { var parameter = model.Args[0].MemberName; var parameter2 = model.Args[1].MemberName; - return string.Format(" ROUND(TO_NUMBER({0} - {1})) ", parameter, parameter2); + return string.Format(" (ROUND(TO_NUMBER({0} - {1}))=0) ", parameter, parameter2); } public override string DateIsSameByType(MethodCallExpressionModel model) { @@ -150,7 +150,7 @@ namespace SqlSugar time = time * 24 * 60 * 60 * 1000; break; } - return string.Format(" ROUND(TO_NUMBER({0} - {1}) * {2}) ", parameter, parameter2, time); + return string.Format(" (ROUND(TO_NUMBER({0} - {1}) * {2}) = 0) ", parameter, parameter2, time); } } } diff --git a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs index 9f148f878..e0e956846 100644 --- a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs +++ b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs @@ -34,7 +34,8 @@ namespace SqlSugar DependencyManagement.TrySqlite(); break; case DbType.Oracle: - throw new Exception("Oracle developed 75%,to be continued"); + //throw new Exception("Oracle developed 75%,to be continued"); + break; default: throw new Exception("ConnectionConfig.DbType is null"); }