feature:给所有仓储类都添加批量更新方法
This commit is contained in:
@@ -39,6 +39,13 @@ public interface IBaseRepository<T> where T : class
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新实体。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的实体列表。</param>
|
||||||
|
Task<int> UpdateAsync(List<T> entities);
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除实体。
|
/// 异步根据实体列表批量删除实体。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -151,6 +151,24 @@ public abstract class BaseRepository<TEntity>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新实体。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的实体列表。</param>
|
||||||
|
/// <returns>返回受影响的行数。</returns>
|
||||||
|
public virtual async Task<int> UpdateAsync(List<TEntity> entities)
|
||||||
|
{
|
||||||
|
var stopwatch = new Stopwatch();
|
||||||
|
stopwatch.Start();
|
||||||
|
var result = await _dbContext.GetInstance().Updateable(entities)
|
||||||
|
.ExecuteCommandAsync();
|
||||||
|
stopwatch.Stop();
|
||||||
|
_logger.LogInformation($"UpdateAsync Batch {typeof(TEntity).Name}, Count: {entities.Count}, 耗时:{stopwatch.ElapsedMilliseconds}ms");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public async Task<List<TEntity>> AddAsync(List<TEntity> entities)
|
public async Task<List<TEntity>> AddAsync(List<TEntity> entities)
|
||||||
{
|
{
|
||||||
var stopwatch = new Stopwatch();
|
var stopwatch = new Stopwatch();
|
||||||
@@ -166,7 +184,6 @@ public abstract class BaseRepository<TEntity>
|
|||||||
_logger.LogInformation($"AddBatchAsync {typeof(TEntity).Name}耗时:{stopwatch.ElapsedMilliseconds}ms");
|
_logger.LogInformation($"AddBatchAsync {typeof(TEntity).Name}耗时:{stopwatch.ElapsedMilliseconds}ms");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return retrunEntities;
|
return retrunEntities;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,18 @@ public class DeviceRepository : BaseRepository<DbDevice>, IDeviceRepository
|
|||||||
return _mapper.Map<List<Device>>(addedEntities);
|
return _mapper.Map<List<Device>>(addedEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新设备。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的设备实体列表。</param>
|
||||||
|
/// <returns>受影响的行数。</returns>
|
||||||
|
public async Task<int> UpdateAsync(List<Device> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbDevice>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除设备。
|
/// 异步根据实体列表批量删除设备。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -133,6 +133,17 @@ namespace DMS.Infrastructure.Repositories
|
|||||||
return _mapper.Map<List<EmailAccount>>(insertedEntities);
|
return _mapper.Map<List<EmailAccount>>(insertedEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新实体。
|
||||||
|
/// </summary>
|
||||||
|
public async Task<int> UpdateAsync(List<EmailAccount> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbEmailAccount>>(entities);
|
||||||
|
return await Db.Updateable(dbEntities)
|
||||||
|
.ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除实体。
|
/// 异步根据实体列表批量删除实体。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -133,6 +133,17 @@ namespace DMS.Infrastructure.Repositories
|
|||||||
return _mapper.Map<List<EmailLog>>(dbEntities);
|
return _mapper.Map<List<EmailLog>>(dbEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新实体。
|
||||||
|
/// </summary>
|
||||||
|
public async Task<int> UpdateAsync(List<EmailLog> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbEmailLog>>(entities);
|
||||||
|
return await Db.Updateable(dbEntities)
|
||||||
|
.ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除实体。
|
/// 异步根据实体列表批量删除实体。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -132,6 +132,17 @@ namespace DMS.Infrastructure.Repositories
|
|||||||
return _mapper.Map<List<EmailMessage>>(dbEntities);
|
return _mapper.Map<List<EmailMessage>>(dbEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新实体。
|
||||||
|
/// </summary>
|
||||||
|
public async Task<int> UpdateAsync(List<EmailMessage> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbEmailMessage>>(entities);
|
||||||
|
return await Db.Updateable(dbEntities)
|
||||||
|
.ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除实体。
|
/// 异步根据实体列表批量删除实体。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -132,6 +132,17 @@ namespace DMS.Infrastructure.Repositories
|
|||||||
return _mapper.Map<List<EmailTemplate>>(dbEntities);
|
return _mapper.Map<List<EmailTemplate>>(dbEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新实体。
|
||||||
|
/// </summary>
|
||||||
|
public async Task<int> UpdateAsync(List<EmailTemplate> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbEmailTemplate>>(entities);
|
||||||
|
return await Db.Updateable(dbEntities)
|
||||||
|
.ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除实体。
|
/// 异步根据实体列表批量删除实体。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -155,6 +155,18 @@ public class MenuRepository : BaseRepository<DbMenu>, IMenuRepository
|
|||||||
return _mapper.Map<List<MenuBean>>(addedEntities);
|
return _mapper.Map<List<MenuBean>>(addedEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新菜单。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的菜单实体列表。</param>
|
||||||
|
/// <returns>受影响的行数。</returns>
|
||||||
|
public async Task<int> UpdateAsync(List<MenuBean> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbMenu>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除菜单。
|
/// 异步根据实体列表批量删除菜单。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -87,6 +87,18 @@ public class MqttAliasRepository : BaseRepository<DbMqttAlias>, IMqttAliasReposi
|
|||||||
return _mapper.Map<List<MqttAlias>>(addedEntities);
|
return _mapper.Map<List<MqttAlias>>(addedEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新变量与MQTT别名关联。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的变量与MQTT别名关联实体列表。</param>
|
||||||
|
/// <returns>受影响的行数。</returns>
|
||||||
|
public async Task<int> UpdateAsync(List<MqttAlias> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbMqttAlias>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除变量与MQTT别名关联。
|
/// 异步根据实体列表批量删除变量与MQTT别名关联。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -83,6 +83,18 @@ public class MqttServerRepository : BaseRepository<DbMqttServer>, IMqttServerRep
|
|||||||
return _mapper.Map<List<MqttServer>>(addedEntities);
|
return _mapper.Map<List<MqttServer>>(addedEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新MQTT服务器。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的MQTT服务器实体列表。</param>
|
||||||
|
/// <returns>受影响的行数。</returns>
|
||||||
|
public async Task<int> UpdateAsync(List<MqttServer> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbMqttServer>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除MQTT服务器。
|
/// 异步根据实体列表批量删除MQTT服务器。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -117,6 +117,18 @@ public class NlogRepository : BaseRepository<DbNlog>, INlogRepository
|
|||||||
return _mapper.Map<List<Core.Models.Nlog>>(addedEntities);
|
return _mapper.Map<List<Core.Models.Nlog>>(addedEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新Nlog日志条目。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的Nlog日志实体列表。</param>
|
||||||
|
/// <returns>受影响的行数。</returns>
|
||||||
|
public new async Task<int> UpdateAsync(List<Core.Models.Nlog> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbNlog>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除Nlog日志条目。
|
/// 异步根据实体列表批量删除Nlog日志条目。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -95,6 +95,18 @@ namespace DMS.Infrastructure.Repositories
|
|||||||
return _mapper.Map<List<Trigger>>(addedEntities);
|
return _mapper.Map<List<Trigger>>(addedEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新触发器定义。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的触发器定义实体列表。</param>
|
||||||
|
/// <returns>受影响的行数。</returns>
|
||||||
|
public async Task<int> UpdateAsync(List<Trigger> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbTrigger>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除触发器定义。
|
/// 异步根据实体列表批量删除触发器定义。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -87,6 +87,18 @@ public class TriggerVariableRepository : BaseRepository<DbTriggerVariable>, ITri
|
|||||||
return _mapper.Map<List<TriggerVariable>>(addedEntities);
|
return _mapper.Map<List<TriggerVariable>>(addedEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新触发器与变量关联。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的触发器与变量关联实体列表。</param>
|
||||||
|
/// <returns>受影响的行数。</returns>
|
||||||
|
public async Task<int> UpdateAsync(List<TriggerVariable> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbTriggerVariable>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除触发器与变量关联。
|
/// 异步根据实体列表批量删除触发器与变量关联。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -77,6 +77,11 @@ public class UserRepository : BaseRepository<DbUser>, IUserRepository
|
|||||||
/// <returns>受影响的行数。</returns>
|
/// <returns>受影响的行数。</returns>
|
||||||
public async Task<int> DeleteAsync(User entity) => await base.DeleteAsync(new List<DbUser> { _mapper.Map<DbUser>(entity) });
|
public async Task<int> DeleteAsync(User entity) => await base.DeleteAsync(new List<DbUser> { _mapper.Map<DbUser>(entity) });
|
||||||
|
|
||||||
|
public async Task<int> UpdateAsync(List<User> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbUser>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public async Task<List<User>> AddAsync(List<User> entities)
|
public async Task<List<User>> AddAsync(List<User> entities)
|
||||||
|
|||||||
@@ -76,6 +76,11 @@ public class VariableHistoryRepository : BaseRepository<DbVariableHistory>, IVar
|
|||||||
/// <returns>受影响的行数。</returns>
|
/// <returns>受影响的行数。</returns>
|
||||||
public async Task<int> DeleteAsync(VariableHistory entity) => await base.DeleteAsync(new List<DbVariableHistory> { _mapper.Map<DbVariableHistory>(entity) });
|
public async Task<int> DeleteAsync(VariableHistory entity) => await base.DeleteAsync(new List<DbVariableHistory> { _mapper.Map<DbVariableHistory>(entity) });
|
||||||
|
|
||||||
|
public async Task<int> UpdateAsync(List<VariableHistory> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbVariableHistory>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public async Task<List<VariableHistory>> AddAsync(List<VariableHistory> entities)
|
public async Task<List<VariableHistory>> AddAsync(List<VariableHistory> entities)
|
||||||
|
|||||||
@@ -144,6 +144,18 @@ public class VariableRepository : BaseRepository<DbVariable>, IVariableRepositor
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新变量。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的变量实体列表。</param>
|
||||||
|
/// <returns>受影响的行数。</returns>
|
||||||
|
public async Task<int> UpdateAsync(List<Variable> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbVariable>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除变量。
|
/// 异步根据实体列表批量删除变量。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -108,6 +108,18 @@ public class VariableTableRepository : BaseRepository<DbVariableTable>, IVariabl
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步批量更新变量表。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entities">要更新的变量表实体列表。</param>
|
||||||
|
/// <returns>受影响的行数。</returns>
|
||||||
|
public async Task<int> UpdateAsync(List<VariableTable> entities)
|
||||||
|
{
|
||||||
|
var dbEntities = _mapper.Map<List<DbVariableTable>>(entities);
|
||||||
|
return await base.UpdateAsync(dbEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据实体列表批量删除变量表。
|
/// 异步根据实体列表批量删除变量表。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user