using System; using System.Collections.Generic; using System.Linq; using System.Text; using OrmTest; namespace OrmTest { 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); } db.CodeFirst.InitTables(); db.DbMaintenance.TruncateTable(); List addItems = new List(); addItems.Add(new Unitfadfayy() { CreateTime = DateTime.Now, Name = "a" }); db.Fastest().BulkMerge(addItems); var list3=db.Queryable().ToList(); list3.First().Name = "j"; db.Fastest().BulkMerge(list3); var list4 = db.Queryable().ToList(); } } public class Unitfadfayy { [SqlSugar.SugarColumn(IsPrimaryKey = true,IsIdentity =true)] public int Id { get; set; } public string Name { get; set; } public DateTime CreateTime { get; set; } } public class UnitaafdsTest { [SqlSugar.SugarColumn(IsPrimaryKey = true)] public Guid Id { get; set; } public string Name { get; set; } public DateTime CreateTime { get; set; } } }