簡體   English   中英

實體框架自動遷移

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM