2016-07-21 17 views

Odpowiedz

14

Zrób to w wywołaniu UseSqlServer.

optionsBuilder 
    .UseSqlServer(
     "...", 
     x => x.MigrationsHistoryTable(
      HistoryRepository.DefaultTableName, 
      "mySchema")); 
+0

Niezły. Prostsze. Dzięki. –

+0

@bricelam Czy możesz także zmienić nazwy kolumn tabeli historii migracji? –

+1

@AlexBello Odpowiedział [na blogu] (http://www.bricelam.net/2017/01/04/efcore-history-table.html). – bricelam

8

Analiza kodu źródłowego (HistoryRepository.cs). Można skonfigurować tabelę niestandardowe migracje i nazwy schematów, wewnątrz DbContext constructor

public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) 
{ 
    var relationalOptions = RelationalOptionsExtension.Extract(options); 
    relationalOptions.MigrationsHistoryTableName = "bar"; 
    relationalOptions.MigrationsHistoryTableSchema = "foo"; 
} 

lub wewnątrz OnConfiguring method

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
{ 
    var relationalOptions = RelationalOptionsExtension.Extract(optionsBuilder.Options); 
    relationalOptions.MigrationsHistoryTableName = "bar"; 
    relationalOptions.MigrationsHistoryTableSchema = "foo"; 
} 
+0

Bardzo blisko. Zrobiłem krok dalej w mojej odpowiedzi. – bricelam

+0

Wygląda na to, że MS zmieniło go na: WithMigrationsHistoryTableName ("bar") i WithMigrationsHistoryTableSchema ("foo") na wypadek, gdyby ktoś szukał tego później. –

Powiązane problemy