diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UOneManyMany.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UOneManyMany.cs index acded05f0..98c1e9558 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/UOneManyMany.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UOneManyMany.cs @@ -9,36 +9,36 @@ namespace OrmTest public class UOneManyMany { - public static void init() + public static void init() { var db = NewUnitTest.Db; - db.CodeFirst.InitTables(); + db.CodeFirst.InitTables(); db.DbMaintenance.TruncateTable(); db.Insertable(new Student_001() { sid = 1, Name = "北大jack", SchoolId = 1 }).ExecuteCommand(); - db.Insertable(new Student_001() { sid = 2, Name = "青华jack", SchoolId = 2}).ExecuteCommand(); + db.Insertable(new Student_001() { sid = 2, Name = "青华jack", SchoolId = 2 }).ExecuteCommand(); - db.Insertable(new School_001() { scid = 1, schname = "北大" }).ExecuteCommand(); - db.Insertable(new School_001() { scid = 2, schname = "青华" }).ExecuteCommand(); + db.Insertable(new School_001() { scid = 1, schname = "北大" }).ExecuteCommand(); + db.Insertable(new School_001() { scid = 2, schname = "青华" }).ExecuteCommand(); - db.Insertable(new Room_001() { roomId = 1, schoolId =1, roomName= "北大01室" }).ExecuteCommand(); - db.Insertable(new Room_001() { roomId = 2, schoolId =1, roomName="北大02室" }).ExecuteCommand(); + db.Insertable(new Room_001() { roomId = 1, schoolId = 1, roomName = "北大01室" }).ExecuteCommand(); + db.Insertable(new Room_001() { roomId = 2, schoolId = 1, roomName = "北大02室" }).ExecuteCommand(); db.Insertable(new Room_001() { roomId = 3, schoolId = 2, roomName = "青华03室" }).ExecuteCommand(); db.Insertable(new Room_001() { roomId = 4, schoolId = 2, roomName = "青华04室" }).ExecuteCommand(); - db.Insertable(new Desk_001() { roomId = 1, deskid = 1, deskName = "北大01室_01" }).ExecuteCommand(); - db.Insertable(new Desk_001() { roomId = 2, deskid = 2, deskName = "北大02室_01" }).ExecuteCommand(); - db.Insertable(new Desk_001() { roomId = 3, deskid = 3, deskName = "青华03室_01" }).ExecuteCommand(); + db.Insertable(new Desk_001() { roomId = 1, deskid = 1, deskName = "北大01室_01" }).ExecuteCommand(); + db.Insertable(new Desk_001() { roomId = 2, deskid = 2, deskName = "北大02室_01" }).ExecuteCommand(); + db.Insertable(new Desk_001() { roomId = 3, deskid = 3, deskName = "青华03室_01" }).ExecuteCommand(); db.Insertable(new Desk_001() { roomId = 4, deskid = 4, deskName = "青华04室_01" }).ExecuteCommand(); - var list=db.Queryable() - .Includes(x => x.school_001, x => x.rooms) - .Where(x=>x.school_001.rooms.Any(z=>z.rooms.Any())).ToList(); + var list = db.Queryable() + .Includes(x => x.school_001, x => x.rooms, x => x.desk) + .Where(x => x.school_001.rooms.Any(z => z.desk.Any())).ToList(); - if (list.Count() !=2) + if (list.Count() != 2) { throw new Exception("unit error"); } @@ -46,8 +46,8 @@ namespace OrmTest var list2 = db.Queryable() .Includes(x => x.school_001, x => x.rooms) .Where(x => x.school_001.rooms.Any(z => - z.roomName== "北大01室" && - z.rooms.Any())).ToList(); + z.roomName == "北大01室" && + z.desk.Any())).ToList(); if (list2.Count() != 1) @@ -56,12 +56,12 @@ namespace OrmTest } var list3 = db.Queryable() - .Includes(x=>x.school_001,x=>x.rooms) + .Includes(x => x.school_001, x => x.rooms) .Where(x => x.school_001.rooms.Any(z => z.roomName == "青华03室" && - z.rooms.Any(c=>c.deskName== "青华03室_01"))).ToList(); + z.desk.Any(c => c.deskName == "青华03室_01"))).ToList(); - if (list3.Count != 1) + if (list3.Count != 1) { throw new Exception("unit error"); } @@ -69,14 +69,28 @@ namespace OrmTest var list4 = db.Queryable() .Where(x => x.school_001.rooms.Any(z => z.roomName == "青华03室" && - z.rooms.Any(c => c.deskName == "青华04室_01"))).ToList(); + z.desk.Any(c => c.deskName == "青华04室_01"))).ToList(); if (list4.Count != 0) { throw new Exception("unit error"); } + db.DbMaintenance.TruncateTable(); + db.InsertNav(list.First()) + .ThenInclude(x => x.school_001) + .ThenInclude(x => x.rooms) + .ThenInclude(x => x.desk); + db.InsertNav(list.Last()) + .ThenInclude(x => x.school_001) + .ThenInclude(x => x.rooms) + .ThenInclude(x => x.desk); + if (db.Queryable().Count() != 4 || db.Queryable().Count() != 4 + || db.Queryable().Count() != 2 || db.Queryable().Count() != 2) + { + throw new Exception("unit error"); + } } public class Student_001 @@ -107,7 +121,7 @@ namespace OrmTest public int schoolId { get; set; } public string roomName { get; set; } [SqlSugar.Navigate(SqlSugar.NavigateType.OneToMany, nameof(Desk_001.roomId))] - public List rooms { get; set; } + public List desk { get; set; } } public class Desk_001