From a634192af96e5882bb0c51c2437781ff4ff925c4 Mon Sep 17 00:00:00 2001 From: 28810 <28810@YEXIANGQIN> Date: Tue, 25 Aug 2020 16:36:01 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BC=98=E5=8C=96=20InsertOrUpdate=20AsTyp?= =?UTF-8?q?e=20=E4=BD=BF=E7=94=A8=E9=94=99=E8=AF=AF=E7=9A=84=E5=8F=8B?= =?UTF-8?q?=E5=A5=BD=E6=8F=90=E7=A4=BA=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql.DbContext/FreeSql.DbContext.xml | 16 ---------------- .../CommonProvider/InsertOrUpdateProvider.cs | 19 ++----------------- 2 files changed, 2 insertions(+), 33 deletions(-) diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 743835e4..5a0c8bd0 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -130,13 +130,6 @@ 清空状态数据 - - - 根据 lambda 条件删除数据 - - - - 添加 @@ -532,14 +525,5 @@ - - - 批量注入 Repository,可以参考代码自行调整 - - - - - - diff --git a/FreeSql/Internal/CommonProvider/InsertOrUpdateProvider.cs b/FreeSql/Internal/CommonProvider/InsertOrUpdateProvider.cs index 4a2df3fc..1d8a13c4 100644 --- a/FreeSql/Internal/CommonProvider/InsertOrUpdateProvider.cs +++ b/FreeSql/Internal/CommonProvider/InsertOrUpdateProvider.cs @@ -72,30 +72,15 @@ namespace FreeSql.Internal.CommonProvider public static void AuditDataValue(object sender, IEnumerable data, IFreeSql orm, TableInfo table, Dictionary changedDict) { if (data?.Any() != true) return; - if (orm.Aop.AuditValueHandler == null) return; foreach (var d in data) - { - if (d == null) continue; - foreach (var col in table.Columns.Values) - { - object val = col.GetValue(d); - var auditArgs = new Aop.AuditValueEventArgs(Aop.AuditValueType.InsertOrUpdate, col, table.Properties[col.CsName], val); - orm.Aop.AuditValueHandler(sender, auditArgs); - if (auditArgs.ValueIsChanged) - { - col.SetValue(d, val = auditArgs.Value); - if (changedDict != null && changedDict.ContainsKey(col.Attribute.Name) == false) - changedDict.Add(col.Attribute.Name, true); - } - } - } + AuditDataValue(sender, d, orm, table, changedDict); } public static void AuditDataValue(object sender, T1 data, IFreeSql orm, TableInfo table, Dictionary changedDict) { - if (orm.Aop.AuditValueHandler == null) return; if (data == null) return; if (typeof(T1) == typeof(object) && new[] { table.Type, table.TypeLazy }.Contains(data.GetType()) == false) throw new Exception($"操作的数据类型({data.GetType().DisplayCsharp()}) 与 AsType({table.Type.DisplayCsharp()}) 不一致,请检查。"); + if (orm.Aop.AuditValueHandler == null) return; foreach (var col in table.Columns.Values) { object val = col.GetValue(data);