From 0e6fe689ec63905107b0442e35fa2f464fd7a301 Mon Sep 17 00:00:00 2001
From: sunkaixuan <610262374@qq.com>
Date: Tue, 21 Nov 2023 23:58:20 +0800
Subject: [PATCH] Add unit test
---
.../UserTestCases/UnitTest/Main.cs | 4 +-
.../UserTestCases/UnitTest/UnitSelectN.cs | 108 ++++++++++++++++++
2 files changed, 111 insertions(+), 1 deletion(-)
create mode 100644 Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UnitSelectN.cs
diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs
index 98a55121d..86a35983b 100644
--- a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs
+++ b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs
@@ -1,4 +1,5 @@
-using SqlSeverTest.UserTestCases;
+using Demo;
+using SqlSeverTest.UserTestCases;
using SqlSugar;
using System;
using System.Collections.Generic;
@@ -31,6 +32,7 @@ namespace OrmTest
}
public static void Init()
{
+ UnitSelectN.Init();
UnitSubqueryN.Init();
Unitadfasfa.Init();
UnitOneToMany1231123.Init();
diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UnitSelectN.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UnitSelectN.cs
new file mode 100644
index 000000000..be8c75875
--- /dev/null
+++ b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UnitSelectN.cs
@@ -0,0 +1,108 @@
+using OrmTest;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo
+{
+ ///
+ /// 数据库帮助类
+ ///
+ public class UnitSelectN
+ {
+
+ public static void Init()
+ {
+ var Db = NewUnitTest.Db;
+ Db.CodeFirst.InitTables(typeof(UpFile), typeof(SpShangPin));
+
+ int total = 0;
+ Test0(Db, total);
+ total = Test1(Db, total);
+ }
+ private static int Test0(SqlSugarClient Db, int total)
+ {
+ var list = Db.Queryable()
+
+ .Select(s => new ShangPinView()
+ {
+
+ Image = new UploadFile() { Id = s.FileId, Url = s.Image.FilePath }
+
+ }).ToList();
+ return total;
+ }
+ private static int Test1(SqlSugarClient Db, int total)
+ {
+ var list = Db.Queryable()
+ .Includes(s => s.Image)
+ .Select(s => new ShangPinView()
+ {
+ Id = s.Id,
+ Name = s.Name,
+ Price = s.Price,
+
+ Image = new UploadFile() { Id = s.FileId, Url = s.Image.FilePath },
+ FileName = s.Image.FilePath,
+ File = s.Image,
+ //Image = s.Image == null ? null : new UploadFile() { Id = s.FileId, Url = s.Image == null ? "" : s.Image.FilePath }
+ }).ToPageList(1, 2, ref total);
+ return total;
+ }
+ }
+
+ ///
+ /// 商品表
+ ///
+ public class SpShangPin : Base
+ {
+ public string Name { get; set; }
+ public int Price { get; set; }
+
+ public Guid FileId { get; set; }
+
+ [Navigate(NavigateType.OneToOne, nameof(FileId), nameof(UpFile.Id))]
+ public UpFile Image { get; set; }
+ }
+
+ ///
+ /// 上传文件表
+ ///
+ public class UpFile : Base
+ {
+ public string FileName { get; set; }
+ public string FilePath { get; set; }
+ }
+
+ ///
+ /// 表公共字段
+ ///
+ public class Base
+ {
+ [SugarColumn(IsPrimaryKey = true)]
+ public Guid Id { get; set; }
+ public DateTime AddTime { get; set; }
+ public DateTime UpdateTime { get; set; }
+ public bool IsDel { get; set; }
+ }
+
+ public class ShangPinView
+ {
+ public Guid Id { get; set; }
+ public string Name { get; set; }
+ public int Price { get; set; }
+ public UploadFile Image { get; set; }
+ public UpFile File { get; set; }
+ public string FileName { get; set; }
+ }
+
+ public class UploadFile
+ {
+ [SugarColumn(IsPrimaryKey = true)]
+ public Guid Id { get; set; }
+ public string Url { get; set; }
+ }
+}