From b263d925358de822514c9c52fed437a635ab04ae Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 29 Sep 2023 11:56:05 +0800 Subject: [PATCH] Add unit test --- .../SqlSeverTest/UnitTest/Main.cs | 1 + .../SqlSeverTest/UnitTest/UnitGridSave.cs | 57 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 Src/Asp.NetCore2/SqlSeverTest/UnitTest/UnitGridSave.cs diff --git a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs index d5d755b7c..d54f351a3 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs @@ -31,6 +31,7 @@ namespace OrmTest } public static void Init() { + UnitGridSave.Init(); CrossDatabase01.Init(); UnitStringToExp.Init(); UnitOneToMany2.Init(); diff --git a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/UnitGridSave.cs b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/UnitGridSave.cs new file mode 100644 index 000000000..81c868afc --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/UnitGridSave.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OrmTest +{ + public class UnitGridSave + { + public static void Init() + { + var db = NewUnitTest.Db; + db.CodeFirst.InitTables(); + db.DbMaintenance.TruncateTable(); + + List list = db.Queryable().ToList(); + db.Tracking(list); + list.Add(new UnitAddress011() + { + Street="street jack", + Persons = new List() { new UnitPerson011() { Name="jack1" } }, + Persons2 = new List() { new UnitPerson011() { Name = "jack2" } } + }); + db.GridSave(list).IncludesAllFirstLayer().ExecuteCommand(); + var list2=db.Queryable() + .Includes(it => it.Persons) + .Includes(it => it.Persons2).ToList(); + + if (list2.First().Persons.Count != 1 || list2.First().Persons2.Count != 1 || + list2.First().Persons.First().Name != "jack1" || + list2.First().Persons2.First().Name != "jack2") + { + throw new Exception("unit error"); + } + } + } + [SqlSugar.SugarTable("UnitPerson0x1x1")] + public class UnitPerson011 + { + [SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + public string Name { get; set; } + public int AddressId { get; set; } + public int AddressId2{ get; set; } + } + [SqlSugar.SugarTable("UnitAddress0x1x1")] + public class UnitAddress011 + { + [SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + public string Street { get; set; } + [SqlSugar.Navigate(SqlSugar.NavigateType.OneToMany, nameof(UnitPerson011.AddressId))] + public List Persons { get; set; } + [SqlSugar.Navigate(SqlSugar.NavigateType.OneToMany, nameof(UnitPerson011.AddressId2))] + public List Persons2 { get; set; } + } +}