Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 public override void PreConfigureServices(ServiceConfigurationContext context)
 {
     WxManagerEfCoreEntityExtensionMappings.Configure();
 }