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);