Fix (?) issues related with concurrency

This commit is contained in:
2022-01-22 21:54:11 +03:00
parent b9a6bb0bc6
commit 8f51f1ece0
6 changed files with 87 additions and 17 deletions
+22
View File
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore.ChangeTracking;
namespace Kruzya.TelegramBot.Core.EF;
public abstract partial class AutoSaveDbContext
{
public override EntityEntry Add(object entity)
{
var entry = base.Add(entity);
SaveChanges();
return entry;
}
public override EntityEntry<TEntity> Add<TEntity>(TEntity entity)
{
var entry = base.Add(entity);
SaveChanges();
return entry;
}
}
+22
View File
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore.ChangeTracking;
namespace Kruzya.TelegramBot.Core.EF;
public abstract partial class AutoSaveDbContext
{
public override EntityEntry Remove(object entity)
{
var entry = base.Remove(entity);
SaveChanges();
return entry;
}
public override EntityEntry<TEntity> Remove<TEntity>(TEntity entity)
{
var entry = base.Remove(entity);
SaveChanges();
return entry;
}
}
+22
View File
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore.ChangeTracking;
namespace Kruzya.TelegramBot.Core.EF;
public abstract partial class AutoSaveDbContext
{
public override EntityEntry Update(object entity)
{
var entry = base.Update(entity);
SaveChanges();
return entry;
}
public override EntityEntry<TEntity> Update<TEntity>(TEntity entity)
{
var entry = base.Update(entity);
SaveChanges();
return entry;
}
}
+12
View File
@@ -0,0 +1,12 @@
using Microsoft.EntityFrameworkCore;
namespace Kruzya.TelegramBot.Core.EF;
/// <summary>
/// EF database context with autosaving feature.
/// </summary>
public abstract partial class AutoSaveDbContext : DbContext
{
protected AutoSaveDbContext(DbContextOptions options) : base(options)
{}
}