From 7de3aaeeeb68468f82bec6ada8654708310377d4 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sun, 16 Jan 2022 18:44:43 +0800 Subject: [PATCH] Update driver --- .../Sqlite/SqlBuilder/SqliteFastBuilder.cs | 2 + .../SqlSeverTest/SqlSugar/SqlSugar.csproj | 4 +- .../SqlSeverTest/SqliteTest/UnitTest/Main.cs | 1 + .../SqliteTest/UnitTest/UBulkCopy.cs | 168 ++++++++++++++++++ 4 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 Src/Asp.NetCore2/SqlSeverTest/SqliteTest/UnitTest/UBulkCopy.cs diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteFastBuilder.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteFastBuilder.cs index 8a5871744..d3d42c430 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteFastBuilder.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteFastBuilder.cs @@ -81,6 +81,7 @@ namespace SqlSugar cmd.Parameters.AddWithValue("@" + item.ColumnName, dataRow[item.ColumnName]); } i += await cmd.ExecuteNonQueryAsync(); + cmd.Parameters.Clear(); } } return i; @@ -101,6 +102,7 @@ namespace SqlSugar cmd.Parameters.AddWithValue("@" + item.ColumnName, dataRow[item.ColumnName]); } i += await cmd.ExecuteNonQueryAsync(); + cmd.Parameters.Clear(); } } return i; diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj index 403560867..130563c64 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj @@ -20,10 +20,10 @@ - + - + diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/UnitTest/Main.cs b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/UnitTest/Main.cs index 4201c64eb..f3825fc27 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/UnitTest/Main.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/UnitTest/Main.cs @@ -31,6 +31,7 @@ namespace OrmTest } public static void Init() { + Bulk(); CodeFirst(); Updateable(); Json(); diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/UnitTest/UBulkCopy.cs b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/UnitTest/UBulkCopy.cs new file mode 100644 index 000000000..e54adbda0 --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/UnitTest/UBulkCopy.cs @@ -0,0 +1,168 @@ +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"); + } + } + 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; } + } +}