public static EntityFrameworkBuilder AddSqlServer <TDbContext>( this EntityFrameworkBuilder builder, IConfiguration configuration, Action <SqlServerDbContextOptionsBuilder> sqlServerOptionsAction = null) where TDbContext : DbContextBase { builder.Services.AddDbContext <TDbContext>(x => { var dbContextType = typeof(TDbContext); var optionDict = configuration.GetSection("DbContexts").Get <DbContextConfigurationCollection>(); var option = optionDict.Get(dbContextType); var entryAssemblyName = !string.IsNullOrWhiteSpace(option.MigrationsAssembly) ? option.MigrationsAssembly : dbContextType.Assembly.GetName().Name; x.UseSqlServer(option.ConnectionString, options => { sqlServerOptionsAction?.Invoke(options); var migrationsHistoryTable = string.IsNullOrWhiteSpace(option.TablePrefix) ? "___ef_migrations_history" : $"{option.TablePrefix}migrations_history"; options.MigrationsHistoryTable(migrationsHistoryTable); options.MaxBatchSize(option.MaxBatchSize); options.MigrationsAssembly(entryAssemblyName); }); }); return(builder); }
public static EntityFrameworkBuilder AddMySql <TDbContext>( this EntityFrameworkBuilder builder, IConfiguration configuration, Action <MySqlDbContextOptionsBuilder> mySqlOptionsAction = null) where TDbContext : DbContextBase { builder.Services.AddMySql <TDbContext>(configuration, mySqlOptionsAction); return(builder); }
public static EntityFrameworkBuilder AddNpgsql <TDbContext>( this EntityFrameworkBuilder builder, IConfiguration configuration, Action <NpgsqlDbContextOptionsBuilder> configure = null) where TDbContext : DbContextBase { builder.Services.AddNpgsql <TDbContext>(configuration, configure); return(builder); }
public static EntityFrameworkBuilder AddMySql <TDbContext1, TDbContext2>( this EntityFrameworkBuilder builder, IConfiguration configuration) where TDbContext1 : DbContextBase where TDbContext2 : DbContextBase { builder.Services.AddMySql <TDbContext1>(configuration); builder.Services.AddMySql <TDbContext2>(configuration); return(builder); }
public static MicroserviceFrameworkBuilder UseEntityFramework(this MicroserviceFrameworkBuilder builder, Action <EntityFrameworkBuilder> configure) { var eBuilder = new EntityFrameworkBuilder(builder.Services); configure?.Invoke(eBuilder); builder.Services.UseEntityFramework(); return(builder); }
public static EntityFrameworkBuilder AddSqlServer <TDbContext>( this EntityFrameworkBuilder builder, IConfiguration configuration) where TDbContext : DbContextBase { builder.Services.AddDbContext <TDbContext>(x => { var dbContextType = typeof(TDbContext); var entryAssemblyName = dbContextType.Assembly.GetName().Name; var store = new EntityFrameworkOptionsConfiguration(configuration); var option = store.Get(dbContextType); x.UseSqlServer(option.ConnectionString, options => { options.MigrationsAssembly(entryAssemblyName); }); }); return(builder); }
public static EntityFrameworkBuilder AddSqlServer <TDbContext>( this EntityFrameworkBuilder builder, IConfiguration configuration) where TDbContext : DbContextBase { builder.Services.AddDbContext <TDbContext>(x => { var dbContextType = typeof(TDbContext); var entryAssemblyName = dbContextType.Assembly.GetName().Name; var store = EntityFrameworkOptionsCollection.LoadFrom(configuration); var option = store.Get(dbContextType); if (option.DbContextType != dbContextType) { throw new ArgumentException("DbContextType is not correct"); } if (option.EnableSensitiveDataLogging) { x.EnableSensitiveDataLogging(); } x.UseSqlServer(option.ConnectionString, options => { options.MigrationsAssembly(entryAssemblyName); }); }); return(builder); }
public static EntityFrameworkBuilder AddSqlServerDbContextOptionsBuilderCreator( this EntityFrameworkBuilder builder) { builder.Services.AddSqlServerDbContextOptionsBuilderCreator(); return(builder); }
public static EntityFrameworkBuilder AddNpgsql <TDbContext>( this EntityFrameworkBuilder builder, IConfiguration configuration) where TDbContext : DbContextBase { builder.Services.AddNpgsql <TDbContext>(configuration); return(builder); }