/// <summary> /// Uses the MigrationsAssembly method internally and passes the Parbad assembly name /// as parameter for configuring the migrations. /// </summary> /// <typeparam name="TBuilder"></typeparam> /// <typeparam name="TExtension"></typeparam> /// <param name="builder"></param> public static RelationalDbContextOptionsBuilder <TBuilder, TExtension> UseParbadMigrations <TBuilder, TExtension>( this RelationalDbContextOptionsBuilder <TBuilder, TExtension> builder) where TBuilder : RelationalDbContextOptionsBuilder <TBuilder, TExtension> where TExtension : RelationalOptionsExtension, new() { return(builder.MigrationsAssembly(typeof(ParbadDataContext).Assembly.GetName().Name)); }
private void ConfigureDbContext <TBuilder, TExtension>(RelationalDbContextOptionsBuilder <TBuilder, TExtension> options) where TBuilder : RelationalDbContextOptionsBuilder <TBuilder, TExtension> where TExtension : RelationalOptionsExtension, new() { options.MigrationsAssembly("Bechtle.A365.ConfigService.Migrations"); options.MigrationsHistoryTable("__EFMigrationsHistory", SnapshotContext.Schema); }
private void BasicSetup <T, K>(RelationalDbContextOptionsBuilder <T, K> builder, DbSetupParameters parameters) where T : RelationalDbContextOptionsBuilder <T, K> where K : RelationalOptionsExtension, new() { if (parameters.Timeout != null) { builder.CommandTimeout(parameters.Timeout); } if (parameters.BacthMax != null) { builder.MaxBatchSize((int)parameters.BacthMax); } }
public static void TenantBuilderSetup <TDbContext, TBuilder, TExtension>(this RelationalDbContextOptionsBuilder <TBuilder, TExtension> builder, IServiceProvider serviceProvider, TenantSettings <TDbContext> settings, TenantInfo tenant) where TDbContext : DbContext, ITenantDbContext where TBuilder : RelationalDbContextOptionsBuilder <TBuilder, TExtension> where TExtension : RelationalOptionsExtension, new() { if (settings.ConnectionType == ConnectionResolverType.ByTable) { builder.MigrationsHistoryTable($"{tenant.Name}__EFMigrationsHistory"); } if (settings.ConnectionType == ConnectionResolverType.BySchema) { builder.MigrationsHistoryTable("__EFMigrationHistory", $"{(settings.SchemaFunc?.Invoke(tenant) ?? tenant.Name)}"); } }
/// <summary> /// Configures the assembly where migrations are maintained for this context. /// </summary> /// <typeparam name="TBuilder"></typeparam> /// <typeparam name="TExtension"></typeparam> /// <param name="builder"></param> /// <returns>Migrations configured builder</returns> public static TBuilder GetMigrationInformation <TBuilder, TExtension>(RelationalDbContextOptionsBuilder <TBuilder, TExtension> builder) where TBuilder : RelationalDbContextOptionsBuilder <TBuilder, TExtension> where TExtension : RelationalOptionsExtension, new() { return(builder.MigrationsAssembly(typeof(ComputerStoreContext).Assembly.GetName().Name)); }