diff --git a/Src/Asp.NetCore2/OracleTest/UserTestCases/UnitTest/Main.cs b/Src/Asp.NetCore2/OracleTest/UserTestCases/UnitTest/Main.cs index aee7c6185..bf2086c6b 100644 --- a/Src/Asp.NetCore2/OracleTest/UserTestCases/UnitTest/Main.cs +++ b/Src/Asp.NetCore2/OracleTest/UserTestCases/UnitTest/Main.cs @@ -34,6 +34,7 @@ namespace OrmTest } public static void Init() { + UnitBulkUpdate.Init(); UnitWeek.Init(); UnitSplitTask.Init(); UnitBulkMerge.Init(); diff --git a/Src/Asp.NetCore2/OracleTest/UserTestCases/UnitTest/UnitBulkUpdate.cs b/Src/Asp.NetCore2/OracleTest/UserTestCases/UnitTest/UnitBulkUpdate.cs new file mode 100644 index 000000000..225d65e69 --- /dev/null +++ b/Src/Asp.NetCore2/OracleTest/UserTestCases/UnitTest/UnitBulkUpdate.cs @@ -0,0 +1,89 @@ +using SqlSugar; +using SqlSugar.Extensions; +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Text.RegularExpressions; +using System.Xml.Linq; + +namespace OrmTest; + +internal class UnitBulkUpdate +{ + public static void Init() + { + ConnectionConfig config = new ConnectionConfig(); + config.ConfigId = 3; + config.ConnectionString = Config.ConnectionString; + config.DbType = DbType.Oracle; + var db = new SqlSugarScope(config); + try + { + db.Aop.OnLogExecuting = (sql, p) => + { + string key = "【SQL参数】:" + "\n"; + + foreach (var param in p) + + { + key += $"{param.ParameterName}:{param.Value}\n"; + } + + Console.WriteLine(string.Join("\r\n", new string[] { "--------", "【SQL语句】:" + sql, key })); + }; + //建表 + if (!db.DbMaintenance.IsAnyTable("TempStudent", false)) + { + db.CodeFirst.InitTables(); + } + + db.Deleteable().ExecuteCommand(); + var list = new List(); + for (int i = 0; i < 300; i++) + { + var info = new TempStudent() + { + guid = Guid.NewGuid().ToString().ToUpper(), + num = i, + name = "北京第" + i + "小学" + }; + list.Add(info); + } + var newlist = new List(); + foreach (var item in list) + { + var info = new TempStudent(); + info.guid = item.guid; + info.num = item.num; + info.name = null; + newlist.Add(info); + } + + db.Insertable(list).ExecuteCommand(); + + db.Fastest().BulkUpdate(newlist, new string[] { "GUID" }, new string[] { "NUM" }); + + db.DbMaintenance.TruncateTable(); + } + catch (Exception ex) + { + } + } +} + +/// +///消毒 +/// +[SugarTable("TempStudent")] +public class TempStudent +{ + public TempStudent() + { + } + [SugarColumn(IsPrimaryKey = true)] + public string guid { get; set; } + + public string name { get; set; } + + public int? num { get; set; } +} \ No newline at end of file