/// <summary> /// Configure the options to use the <see cref="IConfigurationSection"/> /// </summary> /// <param name="builder"></param> /// <param name="section"></param> /// <returns></returns> public static DbContextOptionsBuilder ConfigureSqlServer(this DbContextOptionsBuilder builder, IConfigurationSection section) { var str = $"Data Source={section.Server()}; Initial Catalog={section.Database()};MultipleActiveResultSets=True;User id={section.User()}; PWD={section.Password()}; Integrated Security={section.IsIntegratedSecurity()}"; return(builder.ConfigureSqlServer(str)); }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { optionsBuilder.ConfigureSqlServer <Context>("Server=(localdb)\\MSSQLLocalDB;Initial Catalog=CatalogDb;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); } }
public static DbContextOptionsBuilder ConfigureFromSettings <T>(this DbContextOptionsBuilder optionsBuilder, IConfiguration configuration) where T : DbContext { bool.TryParse(configuration["InMemoryDB"], out bool inMemory); if (inMemory) { optionsBuilder.ConfigureInMemory <T>(configuration["ConnectionString"]); } else { optionsBuilder.ConfigureSqlServer <T>(configuration["ConnectionString"]); } return(optionsBuilder); }
/// <summary> /// Configure the options using the <see cref="IConfiguration"/> /// </summary> /// <param name="builder"></param> /// <param name="config"></param> public static void Configure(this DbContextOptionsBuilder builder, IConfiguration config) { if (!string.IsNullOrEmpty(config.ConnectionString())) { builder.ConfigureSqlServer(config.ConnectionString()); } else if (config.MicrosoftSql().Exists()) { builder.UseMySql(config.MicrosoftSql().Value, mySqlOptions => mySqlOptions .ServerVersion(new Version(10, 3, 21), ServerType.MySql)); } else { builder.ConfigureInMemoryDatabase(); } }
//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); }