PiwigoDirectorySync/PiwigoDirectorySync/Persistence/PersistenceContext.cs

25 lines
874 B
C#

using Microsoft.EntityFrameworkCore;
namespace PiwigoDirectorySync.Persistence;
public class PersistenceContext : DbContext
{
public DbSet<PiwigoServerEntity> PiwigoServers { get; set; }
public DbSet<AlbumEntity> PiwigoAlbums { get; set; }
public DbSet<ImageEntity> PiwigoImages { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
switch (AppSettings.Settings.DbProvider)
{
case "Sqlite":
options.UseSqlite(AppSettings.ConnectionString);
break;
case "InMemory":
options.UseInMemoryDatabase(AppSettings.ConnectionString);
break;
default:
throw new InvalidOperationException($"DbProvider {AppSettings.Settings.DbProvider} is not supported");
}
}
}