//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); }