using System; using System.Collections.Generic; using System.Data.Entity; using Step.Model.DatabaseModels; using MySql.Data.Entity; using static Step.Utils.ExceptionManager; using static Step.Utils.Constants; using Step.Database.Migrations; namespace Step.Database { [DbConfigurationType(typeof(MySqlEFConfiguration))] public class DatabaseContext : DbContext { public DbSet Users { get; set; } public DbSet Roles { get; set; } public DbSet FunctionsAccess { get; set; } public DatabaseContext() : base("mySQLDatabaseConnection") { } public static void TestDatabaseConnection() { System.Data.Entity.Database.SetInitializer(new MigrateDatabaseToLatestVersion()); using (DatabaseContext dbContext = new DatabaseContext()) { try { dbContext.Database.Connection.Open(); dbContext.Database.Connection.Close(); } catch (MySql.Data.MySqlClient.MySqlException ex) { if (ex.Number == 0) { dbContext.Database.Initialize(true); } else if (ex.Number == 1042) // Can't find MySQLServer { Manage(ERROR_LEVEL.FATAL, ex); } else { Manage(ERROR_LEVEL.ERROR, ex); } } } } } }