From 378ef5ab20a25ba8f1c781ab5bd8c3bd093461f2 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 19 Sep 2023 13:55:32 +0800 Subject: [PATCH] Add unit test --- .../SqlServerTest/SqlServerTest.csproj | 1 + Src/Asp.Net/SqlServerTest/UnitTest/Main.cs | 3 +- .../SqlServerTest/UnitTest/UnitDynamicaaa.cs | 72 +++++++++++++++++++ 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 Src/Asp.Net/SqlServerTest/UnitTest/UnitDynamicaaa.cs diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj index ff9949a9c..8019d2763 100644 --- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj +++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj @@ -97,6 +97,7 @@ + diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs index d99b38f4d..d8748253a 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs @@ -1,4 +1,4 @@ -using SqlSugar; + using SqlSugar; using System; using System.Collections.Generic; using System.Linq; @@ -31,6 +31,7 @@ namespace OrmTest } public static void Init() { + UnitDynamicaaa.Init(); UnitBizDel.Init(); UnitFilterUpdate.Init(); Unitadf1131.Init(); diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UnitDynamicaaa.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UnitDynamicaaa.cs new file mode 100644 index 000000000..6f9e3556e --- /dev/null +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UnitDynamicaaa.cs @@ -0,0 +1,72 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest +{ + public class UnitDynamicaaa + { + public static void Init() + { + var db = NewUnitTest.Db; + db.CodeFirst.InitTables(); + db.DbMaintenance.TruncateTable(); + + for (int i = 0; i < 200; i++) + { + AddData(db, "a"+i,"name"+i); + } + + var list = db.Queryable() + .Includes(x => + x.Persons.MappingField(y => y.AddressId, () => x.Id).ToList()//可以多字段匹配 MappingField(..).MappingField(..).Tolist() + ).ToList(); + if (list[150].Persons.Count() != 2) + { + throw new Exception("unit error"); + } + } + + private static void AddData(SqlSugarClient db,string street,string name) + { + var address = new UnitAddress011 + { + Street = street + }; + int addressId = db.Insertable(address).ExecuteReturnIdentity(); + + for (int i = 0; i < 2; i++) + { + // 创建 UnitPerson011 对象并插入记录 + var person = new UnitPerson011 + { + Name = name, + AddressId = addressId + }; + int personId = db.Insertable(person).ExecuteReturnIdentity(); + } + } + } + [SugarTable("UnitPerson011xxx")] + public class UnitPerson011 + { + [SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + public string Name { get; set; } + public int AddressId { get; set; } + [SqlSugar.Navigate(SqlSugar.NavigateType.OneToOne, nameof(AddressId))] + public UnitAddress011 Address { get; set; } + } + [SugarTable("UnitAddress011sss")] + public class UnitAddress011 + { + [SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + public string Street { get; set; } + [SqlSugar.Navigate(SqlSugar.NavigateType.Dynamic, null)] + public List Persons { get; set; } + } +}