Files
magman/MagMan.Data.Admin/DbAdminContext.cs
T
2024-01-10 19:29:38 +01:00

78 lines
2.1 KiB
C#

using MagMan.Data.Admin.DbModels;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
namespace MagMan.Data.Admin
{
/// <summary>
/// Classe gestione admin generale MySql:
/// - creazione utenti su DB principale
/// - aggiunta permessi lettura/scrittura
/// </summary>
public partial class DbAdminContext : DbContext
{
#region Private Fields
private IConfiguration _configuration;
#endregion Private Fields
#region Public Constructors
public DbAdminContext()
{
}
public DbAdminContext(IConfiguration configuration)
{
_configuration = configuration;
}
public DbAdminContext(DbContextOptions<DbAdminContext> options) : base(options)
{
}
#endregion Public Constructors
#region Public Properties
/// <summary>
/// User management
/// </summary>
public virtual DbSet<UserPriv> UserList { get; set; }
#endregion Public Properties
#region Protected Methods
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
string connString = DbConfig.ADMIN_CONNECTION_STRING;
if (!optionsBuilder.IsConfigured)
{
//connString = _configuration.GetConnectionString("MagMan.Data");
connString = "Server=localhost;port=3306;database=mysql;user=root;pwd=Egalware_24068!;sslmode=None;";
var serverVersion = ServerVersion.AutoDetect(connString);
optionsBuilder.UseMySql(connString, serverVersion);
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<UserPriv>().HasKey(c => new { c.Host, c.User });
OnModelCreatingPartial(modelBuilder);
}
#endregion Protected Methods
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}
}