From 53d26684a64f7971936b7630efaf90dcba90c33a Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 29 Apr 2017 21:25:31 +0800 Subject: [PATCH] - --- OrmTest/UnitTest/Query/JoinQuery.cs | 19 +++++++++++-- OrmTest/UnitTest/Query/SelectQuery.cs | 39 +++++++-------------------- 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/OrmTest/UnitTest/Query/JoinQuery.cs b/OrmTest/UnitTest/Query/JoinQuery.cs index 5e8e115a9..20a71cd50 100644 --- a/OrmTest/UnitTest/Query/JoinQuery.cs +++ b/OrmTest/UnitTest/Query/JoinQuery.cs @@ -22,10 +22,25 @@ namespace OrmTest.UnitTest { Q1(); Q2(); + Q3(); } base.End("Method Test"); } + private void Q3() + { + using (var db = GetInstance()) + { + var join3 = db.Queryable("Student", "st") + .AddJoinInfo("School", "sh", "sh.id=st.schoolid") + .Where("st.id>@id") + .AddParameters(new { id = 1 }) + .Select("st.*").ToSql(); + string sql = @"SELECT st.* FROM [Student] st Left JOIN School sh ON sh.id=st.schoolid WHERE st.id>@id "; + base.Check(sql,new List() {new SugarParameter("@id",1)}, join3.Key, join3.Value, "join 3 Error"); + } + } + public void Q1() { using (var db = GetInstance()) @@ -45,7 +60,7 @@ namespace OrmTest.UnitTest { var join2 = db.Queryable((st, sc) => new object[] { JoinType.Left,st.SchoolId==sc.Id - }).Where(st=>st.Id>2).Select("*").ToSql(); + }).Where(st => st.Id > 2).Select("*").ToSql(); base.Check(@"SELECT * FROM [Student] st Left JOIN School sc ON ( [st].[SchoolId] = [sc].[Id] ) WHERE ( [st].[Id] > @Id0 ) ", new List() { new SugarParameter("@Id0",2) @@ -60,7 +75,7 @@ namespace OrmTest.UnitTest db.Database.IsEnableLogEvent = true; db.Database.LogEventStarting = (sql, pars) => { - Console.WriteLine(sql+" "+pars); + Console.WriteLine(sql + " " + pars); }; return db; } diff --git a/OrmTest/UnitTest/Query/SelectQuery.cs b/OrmTest/UnitTest/Query/SelectQuery.cs index a27fcbbf3..301654059 100644 --- a/OrmTest/UnitTest/Query/SelectQuery.cs +++ b/OrmTest/UnitTest/Query/SelectQuery.cs @@ -38,43 +38,26 @@ namespace OrmTest.UnitTest #region dr ot entity db.IgnoreComumns.Add("TestId", "Student"); - var d5 = db.Queryable().ToList(); - var gos = db.Queryable() - .With(SqlWith.NoLock) - .GroupBy(it=>it.Id) - .OrderBy(it=>it.Id) - .Select(it=>it.Id).ToSql(); - base.Check("SELECT [Id] FROM [Student] WITH(NOLOCK) GROUP BY [Id] ORDER BY [Id] ASC", null, gos.Key,null, "基本查询出错"); - var dr3 = db.Queryable().Select(it => new ViewModelStudent2 { Name=it.Name,Student=it}).ToList(); - var dr0 = db.Queryable().Select(it => new { id=it.Id,w=new { x=it } }).ToList(); - var dr1 = db.Queryable().Select(it => new { newid = it.Id }).ToList(); - var dr2 = db.Queryable().Select(it => new { newid = it.Id, obj = it }).ToList(); - var dr4 = db.Queryable().Select(it => new ViewModelStudent2 { Student = it, Name =it.Name }).ToList(); + var s1 = db.Queryable().Select(it => new ViewModelStudent2 { 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 s5 = db.Queryable().Select(it => new ViewModelStudent2 { Student = it, Name =it.Name }).ToList(); #endregion #region sql and parameters validate - var l1 = db.Queryable((st, st2) => new object[] { + var ss1 = db.Queryable((st, st2) => new object[] { JoinType.Left,st.Id==st2.Id }) .Where(st => st.Id > 0) .Select((st, st2) => new { stid = st.Id, scId = st2.Id, xx = st }).ToSql(); - base.Check("SELECT [st].[Id] AS [stid] , [st2].[Id] AS [scId] , [st].[Id] AS [School.Id] , [st].[Name] AS [School.Name] FROM [School] st Left JOIN School st2 ON ( [st].[Id] = [st2].[Id] ) WHERE ( [st].[Id] > @Id0 )" + base.Check("SELECT [st].[Id] AS [stid] , [st2].[Id] AS [scId] , [st].[Id] AS [School.Id] , [st].[Name] AS [School.Name] FROM [School] st Left JOIN School st2 ON ( [st].[Id] = [st2].[Id] ) WHERE ( [st].[Id] > @Id0 ) " , new List() { new SugarParameter("@Id0",0) - }, l1.Key, l1.Value, "l1错误"); + }, ss1.Key, ss1.Value, "ss1错误"); - var list2 = db.Queryable() - .Where(st => st.Id > 0) - .Select("id").ToSql(); - - base.Check("SELECT id FROM [Student] WHERE ( [Id] > @Id0 )", - new List() { new SugarParameter("@Id0", 0) }, - list2.Key, - list2.Value, - "list2报错" - ); var list3 = db.Queryable((st, sc, sc2) => new object[] { JoinType.Left,st.SchoolId==sc.Id, @@ -82,11 +65,7 @@ namespace OrmTest.UnitTest }).Where(st => st.Id > 0) .Select((st) => new School() { Id = st.Id }).ToList(); - var list4 = db.Queryable("Student", "st") - .AddJoinInfo("School", "sh", "sh.id=st.schoolid") - .Where("st.id>@id") - .AddParameters(new { id = 1 }) - .Select("st.*").ToList(); + #endregion