56 lines
2.0 KiB
C#
56 lines
2.0 KiB
C#
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.Configuration;
|
|
using NLog;
|
|
using NLog.Fluent;
|
|
using YamlDotNet.Serialization;
|
|
|
|
namespace WebDoorCreator.Data
|
|
{
|
|
public class ApplicationDbContext : IdentityDbContext
|
|
{
|
|
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
|
|
|
private IConfiguration _configuration { get; set; } = null!;
|
|
public ApplicationDbContext()
|
|
{
|
|
Log.Info($"ApplicationDbContext Init");
|
|
try
|
|
{
|
|
// se non ci fosse... crea o migra!
|
|
Database.Migrate();
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
Log.Error($"Exc during ApplicationDbContext() init:{Environment.NewLine}{exc}");
|
|
}
|
|
}
|
|
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IConfiguration configuration) : base(options)
|
|
{
|
|
_configuration = configuration;
|
|
// verifico SE devo eseguire la migration del DB IDENT...
|
|
bool disableMigrate = _configuration.GetValue<bool>("SetupOpt:DisableIdentMigrate");
|
|
if (!disableMigrate)
|
|
{
|
|
try
|
|
{
|
|
// se non ci fosse... crea o migra!
|
|
Database.Migrate();
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
Log.Error($"Exc during ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IConfiguration configuration) init:{Environment.NewLine}{exc}");
|
|
}
|
|
}
|
|
}
|
|
protected override void OnModelCreating(ModelBuilder builder)
|
|
{
|
|
base.OnModelCreating(builder);
|
|
|
|
//builder.ApplyConfiguration(new RoleConfiguration());
|
|
//builder.ApplyConfiguration(new UserConfiguration());
|
|
//builder.ApplyConfiguration(new UserRolesConfiguration());
|
|
}
|
|
|
|
}
|
|
} |