mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-10 15:20:48 -05:00
fix memory leak issue related to AddDbContext not working as expected
This commit is contained in:
@ -22,34 +22,32 @@ namespace SharedLibraryCore.Repositories
|
||||
/// <inheritdoc/>
|
||||
public async Task<IList<AuditInfo>> ListAuditInformation(PaginationRequest paginationInfo)
|
||||
{
|
||||
using (var ctx = _contextFactory.CreateContext(enableTracking: false))
|
||||
{
|
||||
var iqItems = (from change in ctx.EFChangeHistory
|
||||
where change.TypeOfChange != Database.Models.EFChangeHistory.ChangeType.Ban
|
||||
orderby change.TimeChanged descending
|
||||
join originClient in ctx.Clients
|
||||
on (change.ImpersonationEntityId ?? change.OriginEntityId) equals originClient.ClientId
|
||||
join targetClient in ctx.Clients
|
||||
on change.TargetEntityId equals targetClient.ClientId
|
||||
into targetChange
|
||||
from targetClient in targetChange.DefaultIfEmpty()
|
||||
select new AuditInfo()
|
||||
{
|
||||
Action = change.TypeOfChange.ToString(),
|
||||
OriginName = originClient.CurrentAlias.Name,
|
||||
OriginId = originClient.ClientId,
|
||||
TargetName = targetClient == null ? "" : targetClient.CurrentAlias.Name,
|
||||
TargetId = targetClient == null ? new int?() : targetClient.ClientId,
|
||||
When = change.TimeChanged,
|
||||
Data = change.Comment,
|
||||
OldValue = change.PreviousValue,
|
||||
NewValue = change.CurrentValue
|
||||
})
|
||||
.Skip(paginationInfo.Offset)
|
||||
.Take(paginationInfo.Count);
|
||||
await using var ctx = _contextFactory.CreateContext(enableTracking: false);
|
||||
var iqItems = (from change in ctx.EFChangeHistory
|
||||
where change.TypeOfChange != Database.Models.EFChangeHistory.ChangeType.Ban
|
||||
orderby change.TimeChanged descending
|
||||
join originClient in ctx.Clients
|
||||
on (change.ImpersonationEntityId ?? change.OriginEntityId) equals originClient.ClientId
|
||||
join targetClient in ctx.Clients
|
||||
on change.TargetEntityId equals targetClient.ClientId
|
||||
into targetChange
|
||||
from targetClient in targetChange.DefaultIfEmpty()
|
||||
select new AuditInfo()
|
||||
{
|
||||
Action = change.TypeOfChange.ToString(),
|
||||
OriginName = originClient.CurrentAlias.Name,
|
||||
OriginId = originClient.ClientId,
|
||||
TargetName = targetClient == null ? "" : targetClient.CurrentAlias.Name,
|
||||
TargetId = targetClient == null ? new int?() : targetClient.ClientId,
|
||||
When = change.TimeChanged,
|
||||
Data = change.Comment,
|
||||
OldValue = change.PreviousValue,
|
||||
NewValue = change.CurrentValue
|
||||
})
|
||||
.Skip(paginationInfo.Offset)
|
||||
.Take(paginationInfo.Count);
|
||||
|
||||
return await iqItems.ToListAsync();
|
||||
}
|
||||
return await iqItems.ToListAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user