using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace OrmTest { public partial class NewUnitTest { public static void Bulk() { if (Db.DbMaintenance.IsAnyTable("UnitIdentity1", false)) { Db.DbMaintenance.DropTable("UnitIdentity1"); } Db.CodeFirst.InitTables(); Db.DbMaintenance.TruncateTable(); var data = new UnitIdentity1() { Name = "jack" }; Db.Fastest().BulkCopy(new List() { data }); var list = Db.Queryable().ToList(); if (list.Count != 1 || data.Name != list.First().Name) { throw new Exception("unit Bulk"); } data.Name = "2"; Db.Fastest().BulkCopy(new List() { data, data }); list = Db.Queryable().ToList(); if (list.Count != 3 || !list.Any(it => it.Name == "2")) { throw new Exception("unit Bulk"); } Db.Fastest().BulkUpdate(new List() { new UnitIdentity1(){ Id=1, Name="222" }, new UnitIdentity1(){ Id=2, Name="111" } }); list = Db.Queryable().ToList(); if (list.First(it => it.Id == 1).Name != "222") { throw new Exception("unit Bulk"); } if (list.First(it => it.Id == 2).Name != "111") { throw new Exception("unit Bulk"); } if (list.First(it => it.Id == 3).Name != "2") { throw new Exception("unit Bulk"); } Db.CodeFirst.InitTables(); Db.DbMaintenance.TruncateTable(); var count = Db.Fastest().AS("UnitIdentity111").BulkCopy(new List { new UnitIdentity111111111(){ Id=1, Name="jack" } }); if (count == 0) { throw new Exception("unit Bulk"); } count = Db.Fastest().AS("UnitIdentity111").BulkUpdate(new List { new UnitIdentity111111111(){ Id=1, Name="jack" } }); if (count == 0) { throw new Exception("unit Bulk"); } Db.CodeFirst.InitTables(); Db.Fastest().BulkUpdate(new List { new UnitTable001(){ Id=1, table="a" } }); Db.CodeFirst.InitTables(); Db.DbMaintenance.TruncateTable(); Db.Fastest().BulkCopy(new List { new UnitBulk23131() { Id = 1, table = false } }); var list1 = Db.Queryable().ToList(); SqlSugar.Check.Exception(list1.First().table == true, "unit error"); Db.Fastest().BulkUpdate(new List { new UnitBulk23131() { Id = 1, table = true } }); var list2 = Db.Queryable().ToList(); SqlSugar.Check.Exception(list2.First().table == false, "unit error"); Db.DbMaintenance.TruncateTable(); Db.Fastest().BulkCopy(new List { new UnitBulk23131() { Id = 1, table = true } }); var list3 = Db.Queryable().ToList(); SqlSugar.Check.Exception(list3.First().table == false, "unit error"); Db.Fastest().BulkUpdate(new List { new UnitBulk23131() { Id = 1, table = false } }); list3 = Db.Queryable().ToList(); SqlSugar.Check.Exception(list3.First().table == true, "unit error"); Db.DbMaintenance.TruncateTable(); Db.Fastest().BulkCopy(new List { new UnitBulk23131() { Id = 1, table = null } }); var list4 = Db.Queryable().ToList(); SqlSugar.Check.Exception(list4.First().table == true, "unit error"); var db = Db; db.CodeFirst.InitTables(); db.Fastest().BulkCopy(new List() { new UnitTestoffset11 { }, new UnitTestoffset11 { DateTimeOffset= DateTimeOffset.Now} }); var list5 = db.Queryable().ToList(); Db.CodeFirst.InitTables(); Db.DbMaintenance.TruncateTable(); Db.Fastest().BulkCopy(new List { new UnitIdentity111111111(){ Id=1, Name="True" } }); var list6 = db.Queryable().ToList(); if (list6.First().Name != "True") { throw new Exception("unit error"); } db.CodeFirst.InitTables(); db.DbMaintenance.TruncateTable(); db.Insertable(new UnitBool01() { Bool = true }).ExecuteCommand(); db.Insertable(new UnitBool01() { Bool = false }).ExecuteCommand(); db.Fastest().BulkCopy(new List() { new UnitBool01() { Bool = true } }); db.Fastest().BulkCopy(new List() { new UnitBool01() { Bool = false } }); var list7 = db.Queryable().ToList(); var list8 = db.Queryable().ToDataTable(); var json = db.Utilities.SerializeObject(db.Utilities.DataTableToDictionaryList(list8)); if (json != "[{\"Bool\":1},{\"Bool\":0},{\"Bool\":1},{\"Bool\":0}]") { throw new Exception("unit error"); } Console.WriteLine("用例跑完"); Db.CodeFirst.InitTables(); Db.DbMaintenance.TruncateTable(); Db.Insertable(new UnitDateOffsetTimex() { offsetTime = DateTimeOffset.Now }).ExecuteCommand(); Db.Insertable(new List() { new UnitDateOffsetTimex() { offsetTime = DateTimeOffset.Now }, new UnitDateOffsetTimex() { offsetTime = DateTimeOffset.Now }}).ExecuteCommand(); var dt = Db.Ado.GetDataTable("select * from UnitDateOffsetTimex"); } } public class UnitDateOffsetTimex { public DateTimeOffset offsetTime { get; set; } } public class UnitBool01 { public bool Bool { get; set; } } public class UnitTestoffset11 { [SqlSugar.SugarColumn(IsNullable = true)] public DateTimeOffset? DateTimeOffset { get; set; } } public class UnitBulk23131 { [SqlSugar.SugarColumn(IsPrimaryKey = true)] public int Id { get; set; } [SqlSugar.SugarColumn(ColumnDataType ="tinyint",Length =1,IsNullable =true)] public bool? table { get; set; } } public class UnitTable001 { [SqlSugar.SugarColumn(IsPrimaryKey = true)] public int Id { get; set; } public string table { get; set; } } public class UnitIdentity111 { public int Id { get; set; } public string Name { get; set; } } public class UnitIdentity111111111 { [SqlSugar.SugarColumn(IsPrimaryKey = true)] public int Id { get; set; } public string Name { get; set; } } public class UnitIdentity1 { [SqlSugar.SugarColumn(IsPrimaryKey =true,IsIdentity =true)] public int Id { get; set; } public string Name { get; set; } } }