From 0ebcd2d768c3d3b9f365f0a24f890ebd4748130b Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 3 Feb 2019 18:36:24 +0800 Subject: [PATCH] Sqlite SubString bug --- .../SqlBuilder/SqliteExpressionContext.cs | 8 ++++++++ .../SqliteTest/DataBase/SqlSugar4xTest.sqlite | Bin 475136 -> 475136 bytes Src/Asp.Net/SqliteTest/Demos/1_Query.cs | 1 + .../UnitTest/ExpressionTest/Method.cs | 4 ++-- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs index f88510927..fbd7ac009 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs @@ -20,6 +20,14 @@ namespace SqlSugar return string.Format("LENGTH({0})", 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 Contains(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 5e1027163613c41dc647369b66f4de375694a3fe..a956433193317ef977f3bab9452fb80204708e12 100644 GIT binary patch delta 37260 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.ToList(); var getLike = db.Queryable().Where(it => it.Name.Contains("a")).ToList(); + var getSub = db.Queryable().Where(it => it.Name.Substring(0,1)=="a").ToList(); var getAllOrder = db.Queryable().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList(); var getId = db.Queryable().Select(it => it.Id).ToList(); var getNew = db.Queryable().Where(it => it.Id == 1).Select(it => new { id = SqlFunc.IIF(it.Id == 0, 1, it.Id), it.Name, it.SchoolId }).ToList(); diff --git a/Src/Asp.Net/SqliteTest/UnitTest/ExpressionTest/Method.cs b/Src/Asp.Net/SqliteTest/UnitTest/ExpressionTest/Method.cs index b99719431..b5bf6d7b5 100644 --- a/Src/Asp.Net/SqliteTest/UnitTest/ExpressionTest/Method.cs +++ b/Src/Asp.Net/SqliteTest/UnitTest/ExpressionTest/Method.cs @@ -130,7 +130,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "(SUBSTRING(@MethodConst0,1 + @MethodConst1,@MethodConst2) = @Const3 )", new List() { + base.Check(value, pars, "(SUBSTR(@MethodConst0,1 + @MethodConst1,@MethodConst2) = @Const3 )", new List() { new SugarParameter("@MethodConst0","aaaa"), new SugarParameter("@MethodConst1",0) , new SugarParameter("@MethodConst2",2),new SugarParameter("@Const3","a") }, "Substring error"); } @@ -142,7 +142,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "(SUBSTRING(@MethodConst0,1 + @MethodConst1,@MethodConst2) = @Const3 )", new List() { + base.Check(value, pars, "(SUBSTR(@MethodConst0,1 + @MethodConst1,@MethodConst2) = @Const3 )", new List() { new SugarParameter("@MethodConst0","aaaa"), new SugarParameter("@MethodConst1",0) , new SugarParameter("@MethodConst2",2),new SugarParameter("@Const3","a") }, "Substring error"); }