diff --git a/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs b/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs index 4f2a8591..9a582349 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs @@ -429,8 +429,19 @@ namespace IRaCIS.Core.Infra.EFCore if (typeof(IAuditUpdate).IsAssignableFrom(typeof(T))) { - bindings.Add(Expression.Bind(typeof(T).GetMember(nameof(IAuditUpdate.UpdateTime))[0], Expression.Constant(DateTime.Now))); - bindings.Add(Expression.Bind(typeof(T).GetMember(nameof(IAuditUpdate.UpdateUserId))[0], Expression.Constant(_userInfo.Id))); + var hasPropNameList = bindings.Select(t => t.Member.Name).ToList(); + + if (!hasPropNameList.Contains(nameof(IAuditUpdate.UpdateTime))) + { + bindings.Add(Expression.Bind(typeof(T).GetMember(nameof(IAuditUpdate.UpdateTime))[0], Expression.Constant(DateTime.Now))); + + } + + if (!hasPropNameList.Contains(nameof(IAuditUpdate.UpdateUserId))) + { + bindings.Add(Expression.Bind(typeof(T).GetMember(nameof(IAuditUpdate.UpdateUserId))[0], Expression.Constant(_userInfo.Id))); + + } } diff --git a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs index 7d95140f..94958abe 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs @@ -677,9 +677,19 @@ namespace IRaCIS.Core.Infra.EFCore if (typeof(IAuditUpdate).IsAssignableFrom(typeof(TEntity))) { + var hasPropNameList = bindings.Select(t => t.Member.Name).ToList(); - bindings.Add(Expression.Bind(typeof(TEntity).GetMember(nameof(IAuditUpdate.UpdateTime))[0], Expression.Constant(DateTime.Now))); - bindings.Add(Expression.Bind(typeof(TEntity).GetMember(nameof(IAuditUpdate.UpdateUserId))[0], Expression.Constant(_userInfo.Id))); + if (!hasPropNameList.Contains(nameof(IAuditUpdate.UpdateTime))) + { + bindings.Add(Expression.Bind(typeof(TEntity).GetMember(nameof(IAuditUpdate.UpdateTime))[0], Expression.Constant(DateTime.Now))); + + } + + if (!hasPropNameList.Contains( nameof(IAuditUpdate.UpdateUserId))) + { + bindings.Add(Expression.Bind(typeof(TEntity).GetMember(nameof(IAuditUpdate.UpdateUserId))[0], Expression.Constant(_userInfo.Id))); + + } }