public WxManagerMigrationsDbContext CreateDbContext(string[] args) { WxManagerEfCoreEntityExtensionMappings.Configure(); var configuration = BuildConfiguration(); var EnableDb = configuration["ConnectionStrings:Enable"]; var builder = new DbContextOptionsBuilder <WxManagerMigrationsDbContext>(); #region OldMysql //Console.WriteLine($"url:{Path.Combine(Directory.GetCurrentDirectory(), "../WxManager.DbMigrator/")}"); //Console.WriteLine($"configuration.GetConnectionString('Default'):{configuration.GetConnectionString("Default")}"); //builder.UseMySql(configuration.GetConnectionString("Default"), new MySqlServerVersion(new Version(5, 7)), mySqlOptions => mySqlOptions // .CharSetBehavior(CharSetBehavior.NeverAppend)); #endregion //Console.WriteLine($"EnableDb:{EnableDb}"); //Console.WriteLine($"configuration.GetConnectionString(EnableDb):{configuration.GetConnectionString(EnableDb)}"); switch (EnableDb) { case "MySql": builder.UseMySql(configuration.GetConnectionString(EnableDb), new MySqlServerVersion(new Version(5, 7)), mySqlOptions => mySqlOptions.CharSetBehavior(CharSetBehavior.NeverAppend)); break; case "SqlServer": builder.UseSqlServer(configuration.GetConnectionString(EnableDb)); break; case "PostgreSql": builder.UseNpgsql(configuration.GetConnectionString(EnableDb)); break; case "Sqlite": builder.UseSqlite(configuration.GetConnectionString(EnableDb)); break; } return(new WxManagerMigrationsDbContext(builder.Options)); }
public override void PreConfigureServices(ServiceConfigurationContext context) { WxManagerEfCoreEntityExtensionMappings.Configure(); }