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; }
+ }
+}