From 8b5d4135bc5cd2ab7c13654f90e000a3a3258e7f Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 9 Aug 2023 21:43:51 +0800 Subject: [PATCH] Add unit test --- .../SqlSeverTest/UnitTest/Main.cs | 1 + .../SqlSeverTest/UnitTest/Unitfafaf231.cs | 105 ++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 Src/Asp.NetCore2/SqlSeverTest/UnitTest/Unitfafaf231.cs diff --git a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs index 733bb1efa..f9200b4ca 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs @@ -31,6 +31,7 @@ namespace OrmTest } public static void Init() { + Unitadfafa.Init(); AnimalTest.Init(); UnitOneToOneNAny.Init(); Unitrasdfa.Init(); diff --git a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Unitfafaf231.cs b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Unitfafaf231.cs new file mode 100644 index 000000000..054b2d534 --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Unitfafaf231.cs @@ -0,0 +1,105 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Text; + +namespace OrmTest +{ + public class Unitadfafa + { + public static void Init() + { + // + SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig() + { + ConnectionString = Config.ConnectionString, + DbType = DbType.SqlServer, + IsAutoCloseConnection = true + }, + db => + { + //5.1.3.24统一了语法和SqlSugarScope一样,老版本AOP可以写外面 + + db.Aop.OnLogExecuting = (sql, pars) => + { + Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响 + }; + }); + Init(Db); + + var list = Db.Queryable() + .Includes(x => x.FleetInfo) + .GroupBy(x => new + { + x.CreateTime!.Value.Date, + }) + .Select(x => new + { + Date = x.CreateTime!.Value.Date, + SumPrice = SqlFunc.AggregateSum(x.Price) + }).MergeTable().ToList(); + + Console.WriteLine(list.Count); + } + + private static void Init(SqlSugarClient db) + { + var orders = new List(); + var fleets = new List(); + int a = 0; + for (int i = 0; i < 10; i++) + { + orders.Add(new OrderModel + { + Id = i, + CreateTime = DateTime.Now.AddDays(-a), + FleetId = i, + Price = (decimal)(i * 0.3) + }); + a++; + if (a == 5) + a = 0; + fleets.Add(new Fleet + { + Id = i, + Name = $"{i}--号" + }); + } + + db.DbMaintenance.CreateDatabase(); + db.CodeFirst.InitTables(typeof(OrderModel)); + db.CodeFirst.InitTables(typeof(Fleet)); + db.DbMaintenance.TruncateTable(); + db.Insertable(orders).ExecuteCommand(); + db.Insertable(fleets).ExecuteCommand(); + } + } + + public class OrderModel + { + [SugarColumn(IsPrimaryKey = true)] + public long Id { get; set; } + + public decimal Price { get; set; } + public DateTime? CreateTime { get; set; } + + public long FleetId { get; set; } + + [SugarColumn(IsIgnore = true, IsNullable = true)] + [Navigate(NavigateType.OneToOne, nameof(FleetId))] + public Fleet? FleetInfo { get; set; } + } + + public class Fleet + { + [SugarColumn(IsPrimaryKey = true)] + public long Id { get; set; } + + public string Name { get; set; } + + public long Pid { get; set; } = 0; + + [Navigate(NavigateType.OneToOne, nameof(Pid))] + public Fleet? Flee { get; set; } + } +}