[英]Entity Framework Automatic migration
我有一個3層架構項目(Web,Service,DataAccess),我只想在POCO發生變化時將數據庫遷移到最新版本。 我們可以通過從Application_Start
事件調用自動遷移代碼來完成此操作。 在這種情況下,我沒有在我的網站中引用DataAccess
項目。 那么如何從Application_Start
事件中調用自動遷移代碼?
Database.SetInitializer(new MigrateDatabaseToLatestVersion<BlogContext, Configuration>());
我無法從Application_Start
訪問BlogContext
。
請幫我
提前謝謝[在生產環境中,我們無法通過VS運行update-database命令,所以有沒有其他方法可以自動更新數據庫)
您應該從遷移生成腳本以在生產中執行。 對我有用的是使用Update-Database -Script
這會創建一個帶有“遷移差異”的腳本,您可以將其作為SQL腳本手動應用於目標服務器數據庫(並且應該插入正確的遷移表行等)。
就個人而言,我不相信“實時”場景中的自動更新,我總是更喜歡手動數據庫管理(即創建或更改Db所需的權限存在問題 - 更不用說共享主機等) - 但是從我的內容來看在同步方面,已經看到遷移是非常可靠的(實際上,通常是'解開'它們的唯一方法是刪除Db並強制完全/新的更新)。 希望有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.