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