From 18872123627dc06525ed7cf9f78f5dcd155500a8 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 11 Nov 2021 20:38:38 +0800 Subject: [PATCH] Update diff log --- Src/Asp.Net/SqlServerTest/Demo/DemoB_Aop.cs | 11 +++++++---- .../Abstract/UpdateProvider/UpdateableProvider.cs | 6 +++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Src/Asp.Net/SqlServerTest/Demo/DemoB_Aop.cs b/Src/Asp.Net/SqlServerTest/Demo/DemoB_Aop.cs index 617d682ec..2a89451c9 100644 --- a/Src/Asp.Net/SqlServerTest/Demo/DemoB_Aop.cs +++ b/Src/Asp.Net/SqlServerTest/Demo/DemoB_Aop.cs @@ -47,21 +47,24 @@ namespace OrmTest var time = it.Time; var diffType = it.DiffType;//enum insert 、update and delete Console.WriteLine(businessData); - Console.WriteLine(editBeforeData[0].Columns[1].Value); - Console.WriteLine("to"); - Console.WriteLine(editAfterData[0].Columns[1].Value); //Write logic }; - db.Queryable().ToList(); + var list= db.Queryable().ToList(); db.Queryable().ToList(); //OnDiffLogEvent var data = db.Queryable().First(); + + db.Insertable(list.Take(5).ToList()).EnableDiffLogEvent().ExecuteCommand(); + + db.Insertable(new Order() { CreateTime=DateTime.Now, CustomId=1, Name="a" ,Price=1 }).EnableDiffLogEvent().ExecuteCommand(); + data.Name = "changeName"; db.Updateable(data).EnableDiffLogEvent("--update Order--").ExecuteCommand(); + db.Updateable(list.Take(5).ToList()).EnableDiffLogEvent("--update Order--").ExecuteCommand(); Console.WriteLine("#### Aop End ####"); } } diff --git a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs index a2984f32d..ece1ad562 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs @@ -142,7 +142,7 @@ namespace SqlSugar } public IUpdateable EnableDiffLogEvent(object businessData = null) { - Check.Exception(this.UpdateObjs.HasValue() && this.UpdateObjs.Count() > 1, "DiffLog does not support batch operations"); + //Check.Exception(this.UpdateObjs.HasValue() && this.UpdateObjs.Count() > 1, "DiffLog does not support batch operations"); diffModel = new DiffLogModel(); this.IsEnableDiffLogEvent = true; diffModel.BusinessData = businessData; @@ -807,8 +807,8 @@ namespace SqlSugar private List GetDiffTable(string sql, List parameters) { List result = new List(); - var whereSql = Regex.Replace(sql, ".* WHERE ", "", RegexOptions.Singleline); - var dt = this.Context.Queryable().Where(whereSql).AddParameters(parameters).ToDataTable(); + //var whereSql = Regex.Replace(sql, ".* WHERE ", "", RegexOptions.Singleline); + var dt = this.Context.Queryable().WhereClassByPrimaryKey(this.UpdateObjs.ToList()).ToDataTable(); if (dt.Rows != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows)