diff --git a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs index 11b042a32..17ac8988c 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs @@ -1,4 +1,5 @@ -using SqlSugar; +using SqlSeverTest.UnitTest; +using SqlSugar; using System; using System.Collections.Generic; using System.Linq; @@ -30,6 +31,7 @@ namespace OrmTest } public static void Init() { + UnitBulkMerge.Init(); UnitBool.Init(); UnitGridSave.Init(); UnitNavDynamic.Init(); diff --git a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/UnitBulkMerge.cs b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/UnitBulkMerge.cs new file mode 100644 index 000000000..2344558e9 --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/UnitBulkMerge.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OrmTest; + +namespace SqlSeverTest.UnitTest +{ + internal class UnitBulkMerge + { + public static void Init() + { + var db = NewUnitTest.Db; + db.CodeFirst.InitTables(); + db.DbMaintenance.TruncateTable(); + var count = db.Fastest() + .BulkMerge(new List() { new UnitaafdsTest() { Id=Guid.NewGuid() + , CreateTime=DateTime.Now, Name="a"} }); + var list = db.Queryable().ToList(); + if (list[0].Name != "a") { throw new Exception("unit error"); } + list[0].Name = "j"; + var count2 = db.Fastest() + .BulkMerge(list); + var list2 = db.Queryable().ToList(); + if (list2[0].Name != "j" || count2 != 1) { throw new Exception("unit error"); } + list2.Add(new UnitaafdsTest() + { + Id = Guid.NewGuid(), + CreateTime = DateTime.Now, + Name = "a" + }); + list2.Add(new UnitaafdsTest() + { + Id = Guid.NewGuid(), + CreateTime = DateTime.Now, + Name = "a" + }); + db.Fastest() + .BulkMerge(list2); + var count3 = db.Queryable() + .Count(); + if (count3 != 3) + { + throw new Exception("unit error"); + } + for (int i = 0; i < 1000; i++) + { + db.Fastest() + .BulkMerge(list); + } + } + } + public class UnitaafdsTest + { + [SqlSugar.SugarColumn(IsPrimaryKey = true)] + public Guid Id { get; set; } + public string Name { get; set; } + public DateTime CreateTime { get; set; } + } +}