diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs index 0ae05b4e81653d1d9c412942f7a2fa47b94748de..53cafd715147a725eea047609d21ad7ed6f4fcc9 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs @@ -807,6 +807,12 @@ namespace SqlSugar dataEvent(deleteObj, model); } } + dataEvent(deleteObjs, new DataFilterModel() + { + OperationType = DataFilterType.BatchDeleteByObject, + EntityValue = deleteObjs, + EntityColumnInfo = this.EntityInfo.Columns.FirstOrDefault() + }); } } diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/FastestProvider/FastestProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/FastestProvider/FastestProvider.cs index ad729716f3b9d86e8ddaabba9ecdafe19e43e0b1..91299aaba2171cbb23b14c491a5b3e924313c182 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/FastestProvider/FastestProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/FastestProvider/FastestProvider.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Threading; using System.Reflection; using System.Runtime.CompilerServices; +using Dm; namespace SqlSugar { public partial class FastestProvider:IFastest where T:class,new() @@ -550,6 +551,8 @@ namespace SqlSugar { dataEvent(columnInfo.PropertyInfo.GetValue(item, null), new DataFilterModel() { OperationType = type, EntityValue = item, EntityColumnInfo = columnInfo }); } + dataEvent(null, new DataFilterModel() { OperationType = type== DataFilterType.InsertByObject? DataFilterType.BatchInsertByObject:DataFilterType.BatchUpdateByObject, EntityValue = item, EntityColumnInfo = entity.Columns.FirstOrDefault() }); + } } #endregion diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertableHelper.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertableHelper.cs index 9aee1c19190280fe251d6ceb0befc0a18e91ae74..f62407ca236c4b57cf1cf52a8ba36fef9bf37679 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertableHelper.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/InsertableProvider/InsertableHelper.cs @@ -184,6 +184,7 @@ namespace SqlSugar InsertBuilder.EntityInfo = this.EntityInfo; Check.Exception(InsertObjs == null || InsertObjs.Count() == 0, "InsertObjs is null"); int i = 0; + DataAop(InsertObjs); foreach (var item in InsertObjs) { List insertItem = new List(); @@ -232,6 +233,15 @@ namespace SqlSugar } } + private void DataAop(T [] items) + { + var dataEvent = this.Context.CurrentConnectionConfig.AopEvents?.DataExecuting; + if (dataEvent != null && items != null) + { + dataEvent(null, new DataFilterModel() { OperationType = DataFilterType.BatchInsertByObject, EntityValue = items, EntityColumnInfo = this.EntityInfo.Columns.FirstOrDefault() }); + } + } + private void DataChangeAop(T [] items) { @@ -263,6 +273,8 @@ namespace SqlSugar } } } + + dataEvent(null, new DataFilterModel() { OperationType = DataFilterType.BatchInsertByObject, EntityValue = items, EntityColumnInfo = this.EntityInfo.Columns.FirstOrDefault() }); } } diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/UpdateProvider/UpdateableHelper.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/UpdateProvider/UpdateableHelper.cs index cc41dfedfb70904a98baf06c3f9c48b45bc2d449..54a3469e9a4a64172a6bd09995b69f092c3271a3 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/UpdateProvider/UpdateableHelper.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/UpdateProvider/UpdateableHelper.cs @@ -198,6 +198,7 @@ namespace SqlSugar { this.UpdateBuilder.OldPrimaryKeys = this.EntityInfo.Columns.Where(it => it.IsPrimarykey).Select(it=>it.DbColumnName).ToList(); } + DataAop(UpdateObjs); foreach (var item in UpdateObjs) { List updateItem = new List(); @@ -297,6 +298,15 @@ namespace SqlSugar } } + private void DataAop(T[] items) + { + var dataEvent = this.Context.CurrentConnectionConfig.AopEvents?.DataExecuting; + if (dataEvent != null && items != null) + { + dataEvent(null, new DataFilterModel() { OperationType = DataFilterType.BatchUpdateByObject, EntityValue = items, EntityColumnInfo = this.EntityInfo.Columns.FirstOrDefault() }); + } + } + private void DataChangesAop(T [] items) { if (typeof(T).FullName.StartsWith("System.Collections.Generic.Dictionary`")) @@ -331,6 +341,8 @@ namespace SqlSugar } } } + dataEvent(null, new DataFilterModel() { OperationType = DataFilterType.BatchUpdateByObject, EntityValue = items, EntityColumnInfo = this.EntityInfo.Columns.FirstOrDefault() }); + } } diff --git a/Src/Asp.NetCore2/SqlSugar/Enum/DataFilterType.cs b/Src/Asp.NetCore2/SqlSugar/Enum/DataFilterType.cs index 223229d8a5bf62d24e1adca60ee970c628c06b79..e293da942ca3336b7e2ea5a04c85fbfcfe2f723d 100644 --- a/Src/Asp.NetCore2/SqlSugar/Enum/DataFilterType.cs +++ b/Src/Asp.NetCore2/SqlSugar/Enum/DataFilterType.cs @@ -11,7 +11,10 @@ namespace SqlSugar { UpdateByObject = 0, InsertByObject = 1, - DeleteByObject =2 + DeleteByObject =2, + BatchUpdateByObject = 3, + BatchInsertByObject = 4, + BatchDeleteByObject= 5 } public class DataFilterModel {