From 2a33a1bf6f08370c34e7cbbae45c290dc7385628 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 30 Mar 2018 16:11:29 +0800 Subject: [PATCH] Oracle SubStr BUG --- Src/Asp.Net/OracleTest/Demos/1_Query.cs | 3 ++- .../SqlBuilder/OracleExpressionContext.cs | 7 +++++++ .../SqliteTest/DataBase/SqlSugar4xTest.sqlite | Bin 475136 -> 475136 bytes 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Src/Asp.Net/OracleTest/Demos/1_Query.cs b/Src/Asp.Net/OracleTest/Demos/1_Query.cs index 0975f5634..620345864 100644 --- a/Src/Asp.Net/OracleTest/Demos/1_Query.cs +++ b/Src/Asp.Net/OracleTest/Demos/1_Query.cs @@ -374,11 +374,12 @@ namespace OrmTest.Demo { var db = GetInstance(); db.IgnoreColumns.Add("TestId", "Student"); - db.Insertable( new Student() { Name="a" }).ExecuteCommand(); + db.Insertable( new Student() { Name="abc" }).ExecuteCommand(); var s1 = db.Queryable().Select(it => new { Name = it.Name, Student = it }).ToList(); var s2 = db.Queryable().Select(it => new { id = it.Id, w = new { x = it } }).ToList(); var s3 = db.Queryable().Select(it => new { newid = it.Id }).ToList(); var s4 = db.Queryable().Select(it => new { newid = it.Id, obj = it }).ToList(); + var s44 = db.Queryable().Where(it=>it.Name.Substring(0,1)=="a").ToList(); var s5 = db.Queryable().Select(it => new ViewModelStudent2 { Student = it, Name = it.Name }).ToList(); var s6 = db.Queryable((st, sc) => new object[] { JoinType.Left,st.SchoolId==sc.Id diff --git a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs index a43964aeb..e39e4621e 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs @@ -45,6 +45,13 @@ namespace SqlSugar var parameter = model.Args[0]; return string.Format(" to_timestamp({0},'0000-01-01 hh24:mi:ss') ", parameter.MemberName); } + public override string Substring(MethodCallExpressionModel model) + { + var parameter = model.Args[0]; + var parameter2 = model.Args[1]; + var parameter3 = model.Args[2]; + return string.Format("SUBSTR({0},1 + {1},{2})", parameter.MemberName, parameter2.MemberName, parameter3.MemberName); + } public override string DateValue(MethodCallExpressionModel model) { var parameter = model.Args[0]; diff --git a/Src/Asp.Net/SqliteTest/DataBase/SqlSugar4xTest.sqlite b/Src/Asp.Net/SqliteTest/DataBase/SqlSugar4xTest.sqlite index 7fe81f78b314d3c4340e15794dcc5ded64043336..6a1657ec5f7d6aee384fb8f04f1f7ab120a623a7 100644 GIT binary patch delta 191 zcmZo@kZov?ogmFvI8nx#v2bI;5`GRQ{v!+7y`E6j<66SlblXmMO3+000Hw BFUtS` delta 190 zcmZo@kZov?ogmGaGf~EwF=u1K5`GQ_0R|9A*vuoai{Glp5y%edn-v43a{6Xe0;z(& z>0&@Ct#7I^kP7ab>;5%vadp0%Kh>|A&$w>-TzSSMM(H*M#x@0}HU;K3 Q1(r4i);0yUWeV&H03~xUx&QzG