using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using MP.MONO.Data.DbModels; namespace MP.MONO.Data { public partial class AdminContext : DbContext { #region Private Fields #endregion Private Fields #region Public Constructors public AdminContext() { } #endregion Public Constructors #region Public Properties /// /// User management /// public DbSet UserList { get; set; } = null!; #endregion Public Properties #region Private Methods partial void OnModelCreatingPartial(ModelBuilder modelBuilder); #endregion Private Methods #region Protected Methods protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { string connString = DbConfig.ADMIN_CONNECTION_STRING; if (!optionsBuilder.IsConfigured) { var serverVersion = ServerVersion.AutoDetect(connString); ; optionsBuilder.UseMySql(connString, serverVersion, options => options.EnableRetryOnFailure( maxRetryCount: 5, maxRetryDelay: TimeSpan.FromSeconds(10), errorNumbersToAdd: null) ); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().HasKey(c => new { c.Host, c.User }); OnModelCreatingPartial(modelBuilder); } #endregion Protected Methods } }