2012-07-23 93 views
2

種子最近開始使用的Code First遷移,並希望種子在每個數據截至方法。EF 4.3代碼第一次遷移 - 每遷移

這是可能的嗎?

即,

  1. 創建數據庫表
  2. 數據

用於滴灌:

  1. 從加入表
  2. 刪除表中刪除數據

回答

6

是有可能但是你必須通過執行SQL命令來完成。請使用您的遷移既UpDown方法Sql的方法來執行INSERTDELETE SQL命令。

3
public partial class DBInitializer : IDatabaseInitializer<DBContext> 
{ 
    public void InitializeDatabase(DBContext context) 
    { 

     var cfg = new Migrations.Configuration(); 
     var migrator = new DbMigrator(cfg); 

     List<string> pendingMigrations = new List<string>(migrator.GetPendingMigrations()); 

     foreach (string migration in pendingMigrations) 
     { 
      Console.WriteLine("Updating Migration:" + migration); 
      migrator.Update(migration); 
      Console.WriteLine("Updated Migration:" + migration); 

      if (migration.Contains("AddMyProperty")) 
      { 
       // seed data codes 
       context.SaveChanges(); 
      }     
     } 

    } 

} 
+0

爲什麼這個沒有被標記爲答案???? – 2015-04-29 11:27:31

+0

因爲它不回答問題。這甚至不是答案,只是代碼。 – 2015-09-21 07:16:42