コード例 #1
0
        //public static DbContextOptionsBuilder ConfigureFromSettings(this DbContextOptionsBuilder optionsBuilder, IConfiguration configuration)
        //{
        //    switch (configuration["DatabaseType"])
        //    {
        //        case "InMemory":
        //            optionsBuilder.ConfigureInMemory(configuration["DatabaseConnection"]);
        //            break;

        //        case "SqlServer":
        //            optionsBuilder.ConfigureSqlServer(configuration["DatabaseConnection"]);
        //            break;

        //        case "SqlLite":
        //            optionsBuilder.ConfigureSqlLite(configuration["DatabaseConnection"]);
        //            break;
        //    }
        //    return optionsBuilder;
        //}

        public static DbContextOptionsBuilder ConfigureFromSettings <T>(this DbContextOptionsBuilder optionsBuilder, IConfiguration configuration) where T : DbContext
        {
            switch (configuration["DatabaseType"])
            {
            case "InMemory":
                optionsBuilder.ConfigureInMemory <T>(configuration["DatabaseConnection"]);
                break;

            case "SqlServer":
                optionsBuilder.ConfigureSqlServer <T>(configuration["DatabaseConnection"]);
                break;

            case "SqlLite":
                optionsBuilder.ConfigureSqlLite <T>(configuration["DatabaseConnection"]);
                break;
            }
            return(optionsBuilder);
        }