自动发布调整测试
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-12-29 09:19:52 +08:00
parent 7caabad651
commit 132f90b28e
2 changed files with 48 additions and 53 deletions
@@ -173,61 +173,58 @@ namespace IRaCIS.Core.Infra.EFCore
#region history 使
var bindings = ((MemberInitExpression)updateFactory.Body).Bindings.ToList();
//var bindings = ((MemberInitExpression)updateFactory.Body).Bindings.ToList();
var hasPropNameList = bindings.Select(t => t.Member.Name).ToList();
//var hasPropNameList = bindings.Select(t => t.Member.Name).ToList();
if (typeof(IAuditUpdate).IsAssignableFrom(typeof(T)))
{
//if (typeof(IAuditUpdate).IsAssignableFrom(typeof(T)))
//{
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.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(updateUserId)));
// if (!hasPropNameList.Contains(nameof(IAuditUpdate.UpdateUserId)))
// {
// bindings.Add(Expression.Bind(typeof(T).GetMember(nameof(IAuditUpdate.UpdateUserId))[0], Expression.Constant(updateUserId)));
}
}
// }
//}
//var member = Expression.MemberInit(Expression.New(typeof(T)), bindings);
var member = Expression.MemberInit(Expression.New(typeof(T)), bindings);
//var factory = Expression.Lambda<Func<T, T>>(member, Expression.Parameter(typeof(T), "x"));
var factory = Expression.Lambda<Func<T, T>>(member, Expression.Parameter(typeof(T), "x"));
return await _dbContext.Set<T>().IgnoreQueryFilters().Where(where).BatchUpdateAsync(factory).ConfigureAwait(false) > 0;
//return await _dbContext.Set<T>().IgnoreQueryFilters().Where(where).BatchUpdateAsync(factory).ConfigureAwait(false) > 0;
#endregion
#region efcore 7 & 8
//{
// var fieldValues = updateFactory.ExtractFieldValues();
{
var fieldValues = updateFactory.ExtractFieldValues();
// var hasPropNameList = ((MemberInitExpression)updateFactory.Body).Bindings.Select(t => t.Member.Name).ToList();
var hasPropNameList = ((MemberInitExpression)updateFactory.Body).Bindings.Select(t => t.Member.Name).ToList();
// if (typeof(IAuditUpdate).IsAssignableFrom(typeof(T)))
// {
if (typeof(IAuditUpdate).IsAssignableFrom(typeof(T)))
{
// if (!hasPropNameList.Contains(nameof(IAuditUpdate.UpdateTime)))
// {
// fieldValues.Add(nameof(IAuditUpdate.UpdateTime), DateTime.Now);
// }
if (!hasPropNameList.Contains(nameof(IAuditUpdate.UpdateTime)))
{
fieldValues.Add(nameof(IAuditUpdate.UpdateTime), DateTime.Now);
}
// if (!hasPropNameList.Contains(nameof(IAuditUpdate.UpdateUserId)))
// {
// fieldValues.Add(nameof(IAuditUpdate.UpdateUserId), updateUserId);
// }
// }
if (!hasPropNameList.Contains(nameof(IAuditUpdate.UpdateUserId)))
{
fieldValues.Add(nameof(IAuditUpdate.UpdateUserId), updateUserId);
}
}
// return await _dbContext.Set<T>().IgnoreQueryFilters().Where(where).ExecuteUpdateAsync(fieldValues).ConfigureAwait(false) > 0;
//}
return await _dbContext.Set<T>().IgnoreQueryFilters().Where(where).ExecuteUpdateAsync(fieldValues).ConfigureAwait(false) > 0;
}
#endregion