From ee1f5186d3de1c48184450780a9a6b582b1ecc30 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 25 Sep 2017 12:48:45 +0800 Subject: [PATCH] Update Oracle --- .../OracleTest/UnitTest/ExpressionTest/Method.cs | 12 ++++++------ .../Oracle/SqlBuilder/OracleExpressionContext.cs | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs b/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs index de52b57ce..79fe881dc 100644 --- a/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs +++ b/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs @@ -107,7 +107,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "(LEN(:MethodConst0) > :Const1 )", new List() { + base.Check(value, pars, "(LENGTH(:MethodConst0) > :Const1 )", new List() { new SugarParameter(":MethodConst0","aaaa"),new SugarParameter(":Const1",1) }, "Length error"); @@ -122,7 +122,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "(LEN(\"Name\")> :Length1 )", new List() { + base.Check(value, pars, "(LENGTH(\"NAME\") > :Length1 )", new List() { new SugarParameter(":Length1",1) }, "Length2 error"); } @@ -134,7 +134,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "(LEN(\"Name\")> :Length1 )", new List() { + base.Check(value, pars, "(LENGTH(\"NAME\") > :Length1 )", new List() { new SugarParameter(":Length1",1) }, "Length3 error"); } @@ -252,7 +252,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "(CAST(:MethodConst0 AS NVARCHAR(MAX)) = :Const1 )", new List() { + base.Check(value, pars, "(CAST(:MethodConst0 AS VARCHAR2(4000)) = :Const1 )", new List() { new SugarParameter(":MethodConst0","2015-1-1"),new SugarParameter(":Const1","a") }, "Tostring error"); } @@ -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, " ((CAST(TO_CHAR(:MethodConst0,'yyyy') AS NUMBER) = :Const2 )", new List() { + new SugarParameter(":MethodConst0",x2),new SugarParameter(":Const2",1) }, "DateValue error"); } diff --git a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs index 7b9e7b60c..091b60f52 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs @@ -176,5 +176,10 @@ namespace SqlSugar } return string.Format(" (ROUND(TO_NUMBER({0} - {1}) * {2}) = 0) ", parameter, parameter2, time); } + public override string Length(MethodCallExpressionModel model) + { + var parameter = model.Args[0]; + return string.Format(" LENGTH({0}) ", parameter.MemberName); + } } }