From 31b0a715b4b7ae06ef152d850ff34c62b3e17545 Mon Sep 17 00:00:00 2001
From: sunkaixuna <610262374@qq.com>
Date: Wed, 5 Jan 2022 20:06:33 +0800
Subject: [PATCH] Add unit test
---
.../SqlServerTest/SqlServerTest.csproj | 1 +
Src/Asp.Net/SqlServerTest/UnitTest/Main.cs | 1 +
.../SqlServerTest/UnitTest/UCustom04.cs | 38 +++++++++++++++++++
3 files changed, 40 insertions(+)
create mode 100644 Src/Asp.Net/SqlServerTest/UnitTest/UCustom04.cs
diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
index 9b4d0cd80..2c119dcbf 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 92368241d..50ddade62 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs
@@ -34,6 +34,7 @@ namespace OrmTest
UCustom01.Init();
UCustom02.Init();
UCustom03.Init();
+ UCustom04.Init();
SubQueryTest();
UConfig();
DeleteTest();
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UCustom04.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom04.cs
new file mode 100644
index 000000000..80cbda866
--- /dev/null
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom04.cs
@@ -0,0 +1,38 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OrmTest
+{
+ public class UCustom04
+ {
+ public static void Init()
+ {
+ var db = NewUnitTest.Db;
+ var sql = db.Queryable((o, i, c) => new JoinQueryInfos(
+ JoinType.Left, o.Id == i.OrderId,
+ JoinType.Left, o.CustomId == c.Id
+ ))
+ .Select().ToSql().Key;
+ UValidate.Check(sql, @"SELECT o.[Name] AS [Name],o.[Price] AS [Price],i.[OrderId] AS [OrderItemOrderId],i.[Price] AS [OrderItemPrice],c.[Name] AS [CustomName] FROM [Order] o Left JOIN [OrderDetail] i ON ( [o].[Id] = [i].[OrderId] ) Left JOIN [Custom] c ON ( [o].[CustomId] = [c].[Id] )","unit");
+ var list =
+ db.Queryable((o, i, c) => new JoinQueryInfos(
+ JoinType.Left, o.Id == i.OrderId,
+ JoinType.Left, o.CustomId == c.Id
+ ))
+ .Where((o,i,c)=>i.ItemId>0&&c.Id>0)
+ .Select().ToList();
+ }
+ public class ViewModel
+ {
+ public string Name { get; set; }
+ public decimal Price { get; set; }
+ public int OrderItemOrderId { get; set; }
+ public int OrderItemPrice { get; set; }
+ public string CustomName { get; set; }
+ }
+ }
+}