2016-09-21 17 views
0

我正在使用EF Code First。我試圖在每次發佈數據庫時將其數據庫刷新到Azure中。大家都建議使用這個命令,但它不起作用。我試着將它添加到global.asax和從DBContext繼承上下文的構造,但沒有成功:在Azure中EF強制重裝DB

Database.SetInitializer<MyAPIContext>(new DropCreateDatabaseAlways<MyAPIContext>()) 

我用做我的直播:

context.Users.AddOrUpdate(p => p.UserName, 
     new User 
     { 
      UserName = "John", 
      Age = 21 
     }, 
     new User 
     { 
      UserName = "Mark", 
      Age = 23 
     }, 

,當我準備好了發佈到我的天藍,我第一次更新分貝:

update-database 

然後我發佈。對於測試,我在兩次用戶(John和Mark)上發佈了一次,然後在我重做更新數據庫和發佈前第二次刪除第二個用戶(Mark),但在第二次發佈後它會一直記住它

這是怎麼回事?我希望它完全忘記以前的記錄,只是給我我最後一次要求的東西

回答

0

如果仍然在Dev中,從azure刪除數據庫是最簡單的選項,然後重新創建它。確保等待天藍色,直到確認它已完成創建新數據庫。 然後觸發它,讓它運行種子。這就是我過去3週一直在做的事情,並且效果很好。