From ec97e03b51dd08222e61f6af85609b8935b35657 Mon Sep 17 00:00:00 2001
From: 2881099 <2881099@qq.com>
Date: Sat, 28 May 2022 11:34:55 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E5=A2=9E=E5=8A=A0=20AuditValueEventArgs=20?=
=?UTF-8?q?Object=20=E5=8F=82=E6=95=B0=EF=BC=9B#1128?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Directory.Build.props | 2 +-
FreeSql.DbContext/FreeSql.DbContext.xml | 9 +++++++++
FreeSql/Interface/IAop.cs | 4 +++-
.../Internal/CommonProvider/InsertOrUpdateProvider.cs | 2 +-
FreeSql/Internal/CommonProvider/InsertProvider.cs | 2 +-
FreeSql/Internal/CommonProvider/UpdateProvider.cs | 4 ++--
6 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 6001c557..0ce46e50 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -9,7 +9,7 @@
- 3.2.660-preview22020526
+ 3.2.660-preview22020528
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 6b638cad..1ab5bf1c 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -795,5 +795,14 @@
+
+
+ 批量注入 Repository,可以参考代码自行调整
+
+
+
+
+
+
diff --git a/FreeSql/Interface/IAop.cs b/FreeSql/Interface/IAop.cs
index 47f7ed03..edb938f4 100644
--- a/FreeSql/Interface/IAop.cs
+++ b/FreeSql/Interface/IAop.cs
@@ -308,12 +308,13 @@ namespace FreeSql.Aop
#region AuditValue
public class AuditValueEventArgs : EventArgs
{
- public AuditValueEventArgs(AuditValueType autoValueType, ColumnInfo column, PropertyInfo property, object value)
+ public AuditValueEventArgs(AuditValueType autoValueType, ColumnInfo column, PropertyInfo property, object value, object obj)
{
this.AuditValueType = autoValueType;
this.Column = column;
this.Property = property;
this._value = value;
+ this.Object = obj;
}
///
@@ -342,6 +343,7 @@ namespace FreeSql.Aop
}
private object _value;
public bool ValueIsChanged { get; private set; }
+ public object Object { get; }
}
public enum AuditValueType { Update, Insert, InsertOrUpdate }
#endregion
diff --git a/FreeSql/Internal/CommonProvider/InsertOrUpdateProvider.cs b/FreeSql/Internal/CommonProvider/InsertOrUpdateProvider.cs
index 436bfff6..2cc47afd 100644
--- a/FreeSql/Internal/CommonProvider/InsertOrUpdateProvider.cs
+++ b/FreeSql/Internal/CommonProvider/InsertOrUpdateProvider.cs
@@ -93,7 +93,7 @@ namespace FreeSql.Internal.CommonProvider
foreach (var col in table.Columns.Values)
{
object val = col.GetValue(data);
- var auditArgs = new Aop.AuditValueEventArgs(Aop.AuditValueType.InsertOrUpdate, col, table.Properties.TryGetValue(col.CsName, out var tryprop) ? tryprop : null, val);
+ var auditArgs = new Aop.AuditValueEventArgs(Aop.AuditValueType.InsertOrUpdate, col, table.Properties.TryGetValue(col.CsName, out var tryprop) ? tryprop : null, val, data);
orm.Aop.AuditValueHandler(sender, auditArgs);
if (auditArgs.ValueIsChanged)
{
diff --git a/FreeSql/Internal/CommonProvider/InsertProvider.cs b/FreeSql/Internal/CommonProvider/InsertProvider.cs
index 4fa5a197..5a58cdab 100644
--- a/FreeSql/Internal/CommonProvider/InsertProvider.cs
+++ b/FreeSql/Internal/CommonProvider/InsertProvider.cs
@@ -167,7 +167,7 @@ namespace FreeSql.Internal.CommonProvider
object val = col.GetValue(data);
if (orm.Aop.AuditValueHandler != null)
{
- var auditArgs = new Aop.AuditValueEventArgs(Aop.AuditValueType.Insert, col, table.Properties.TryGetValue(col.CsName, out var tryprop) ? tryprop : null, val);
+ var auditArgs = new Aop.AuditValueEventArgs(Aop.AuditValueType.Insert, col, table.Properties.TryGetValue(col.CsName, out var tryprop) ? tryprop : null, val, data);
orm.Aop.AuditValueHandler(sender, auditArgs);
if (auditArgs.ValueIsChanged)
{
diff --git a/FreeSql/Internal/CommonProvider/UpdateProvider.cs b/FreeSql/Internal/CommonProvider/UpdateProvider.cs
index c70ba516..32a1b741 100644
--- a/FreeSql/Internal/CommonProvider/UpdateProvider.cs
+++ b/FreeSql/Internal/CommonProvider/UpdateProvider.cs
@@ -410,7 +410,7 @@ namespace FreeSql.Internal.CommonProvider
foreach (var col in table.Columns.Values)
{
object val = col.GetValue(d);
- var auditArgs = new Aop.AuditValueEventArgs(Aop.AuditValueType.Update, col, table.Properties.TryGetValue(col.CsName, out var tryprop) ? tryprop : null, val);
+ var auditArgs = new Aop.AuditValueEventArgs(Aop.AuditValueType.Update, col, table.Properties.TryGetValue(col.CsName, out var tryprop) ? tryprop : null, val, d);
orm.Aop.AuditValueHandler(sender, auditArgs);
if (auditArgs.ValueIsChanged)
{
@@ -432,7 +432,7 @@ namespace FreeSql.Internal.CommonProvider
foreach (var col in table.Columns.Values)
{
object val = col.GetValue(data);
- var auditArgs = new Aop.AuditValueEventArgs(Aop.AuditValueType.Update, col, table.Properties.TryGetValue(col.CsName, out var tryprop) ? tryprop : null, val);
+ var auditArgs = new Aop.AuditValueEventArgs(Aop.AuditValueType.Update, col, table.Properties.TryGetValue(col.CsName, out var tryprop) ? tryprop : null, val, data);
orm.Aop.AuditValueHandler(sender, auditArgs);
if (auditArgs.ValueIsChanged)
{