forked from ddrilling/AsbCloudServer
Refactor cacheTable.
Remove ConfigureAwait(false) for private methotds. Insert?() returns updated entity(ies).
This commit is contained in:
parent
6dc3137627
commit
1ec22744c3
@ -169,7 +169,7 @@ namespace AsbCloudInfrastructure.Services.Cache
|
||||
return SyncAsync(
|
||||
async (wasFree, token) =>
|
||||
{
|
||||
return wasFree ? await InternalRefreshAsync(force, token).ConfigureAwait(false) : 0;
|
||||
return wasFree ? await InternalRefreshAsync(force, token) : 0;
|
||||
}, token);
|
||||
}
|
||||
|
||||
@ -297,7 +297,7 @@ namespace AsbCloudInfrastructure.Services.Cache
|
||||
dbSet.Add(entity);
|
||||
var affected = await context.SaveChangesAsync(token).ConfigureAwait(false);
|
||||
if (affected > 0)
|
||||
await InternalRefreshAsync(true, token).ConfigureAwait(false);
|
||||
await InternalRefreshAsync(true, token);
|
||||
return affected;
|
||||
}, token);
|
||||
|
||||
@ -341,7 +341,7 @@ namespace AsbCloudInfrastructure.Services.Cache
|
||||
|
||||
var affected = await context.SaveChangesAsync(token).ConfigureAwait(false);
|
||||
if (affected > 0)
|
||||
await InternalRefreshAsync(true, token).ConfigureAwait(false);
|
||||
await InternalRefreshAsync(true, token);
|
||||
return affected;
|
||||
}, token);
|
||||
}
|
||||
@ -362,7 +362,7 @@ namespace AsbCloudInfrastructure.Services.Cache
|
||||
dbSet.RemoveRange(dbSet.Where(predicate));
|
||||
var affected = await context.SaveChangesAsync(token).ConfigureAwait(false);
|
||||
if (affected > 0)
|
||||
await InternalRefreshAsync(true, token).ConfigureAwait(false);
|
||||
await InternalRefreshAsync(true, token);
|
||||
return affected;
|
||||
}, token);
|
||||
|
||||
@ -385,32 +385,61 @@ namespace AsbCloudInfrastructure.Services.Cache
|
||||
var entry = dbSet.Add(entity);
|
||||
var affected = await context.SaveChangesAsync(token).ConfigureAwait(false);
|
||||
if (affected > 0)
|
||||
await InternalRefreshAsync(true, token).ConfigureAwait(false);
|
||||
await InternalRefreshAsync(true, token);
|
||||
return entry.Entity;
|
||||
}, token);
|
||||
}
|
||||
|
||||
public int Insert(IEnumerable<TEntity> newEntities)
|
||||
public IEnumerable<TEntity> Insert(IEnumerable<TEntity> newEntities)
|
||||
{
|
||||
if (newEntities is null)
|
||||
return null;
|
||||
var count = newEntities.Count();
|
||||
if (count == 0)
|
||||
return null;
|
||||
|
||||
return Sync(_ =>
|
||||
{
|
||||
dbSet.AddRange(newEntities);
|
||||
var entries = new List<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<TEntity>>(count);
|
||||
foreach (var newEntity in newEntities)
|
||||
{
|
||||
var entry = dbSet.Add(newEntity);
|
||||
entries.Add(entry);
|
||||
}
|
||||
|
||||
var affected = context.SaveChanges();
|
||||
if (affected > 0)
|
||||
InternalRefresh(true);
|
||||
return affected;
|
||||
else
|
||||
return null;
|
||||
|
||||
return entries.Select(e => e.Entity);
|
||||
});
|
||||
}
|
||||
|
||||
public Task<int> InsertAsync(IEnumerable<TEntity> newEntities, CancellationToken token = default)
|
||||
public Task<IEnumerable<TEntity>> InsertAsync(IEnumerable<TEntity> newEntities, CancellationToken token = default)
|
||||
{
|
||||
if(newEntities is null)
|
||||
return null;
|
||||
var count = newEntities.Count();
|
||||
if (count == 0)
|
||||
return null;
|
||||
|
||||
return SyncAsync(async (wasFree, token) =>
|
||||
{
|
||||
dbSet.AddRange(newEntities);
|
||||
var entries = new List<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<TEntity>>(count);
|
||||
foreach (var newEntity in newEntities)
|
||||
{
|
||||
var entry = dbSet.Add(newEntity);
|
||||
entries.Add(entry);
|
||||
}
|
||||
var affected = await context.SaveChangesAsync(token).ConfigureAwait(false);
|
||||
if (affected > 0)
|
||||
await InternalRefreshAsync(true, token).ConfigureAwait(false);
|
||||
return affected;
|
||||
await InternalRefreshAsync(true, token);
|
||||
else
|
||||
return null;
|
||||
|
||||
return entries.Select(e => e.Entity);
|
||||
}, token);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user