2016-07-21 21 views

cevap

14

UseSqlServer çağrınızda Do it içeride, özel göçler tablosu ve şema adları yapılandırabilir.

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

Güzel olan. Simplier. Teşekkürler. –

+0

@bricelam Daha sonra geçişler geçmişi tablosunun sütun adlarını değiştirebilir misiniz? –

+1

@AlexBello [blog gönderisinde] yanıtlandı (http://www.bricelam.net/2017/01/04/efcore-history-table.html). – bricelam

8

Kaynak kodu (HistoryRepository.cs) içine bakın. Sen DbContext constructor

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

içinde veya OnConfiguring method

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

Çok yakın. Cevabımda bir adım daha ileri gittim. – bricelam

+0

MS'in bunu daha sonra aradığı durumlar için MS tarafından değiştirildiği anlaşılıyor: WithMigrationsHistoryTableName ("bar") ve WithMigrationsHistoryTableSchema ("foo"). –