/// <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);
 }
示例#3
0
        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)}");
     }
 }
示例#5
0
 /// <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));
 }