2016-09-16 47 views
1

我正在使用實體框架代碼。 我設法使用遷移,但我需要在程序包管理器控制檯中輸入命令。 (例如Update-Database命令)。 它工作正常,但它適用於我的開發計算機。如何在生產服務器上應用實體框架遷移

現在,假設我有很多生產服務器。其中一些服務器仍然在數據庫版本1中,其他版本在3和最新版本是5. 是否有可能從C#代碼運行等效的更新數據庫命令?

回答

0

是的,你可以做that.You有你web.config文件的connection string根據您的production server改變,然後運行:

PM> Update-Database 

更新:生成腳本。

PM > Update-Database -Script -SourceMigration: $InitialDatabase -TargetMigration: 
AddPostAbstract 

您可以參考本作的詳細信息:Getting a SQL Script

+0

有沒有辦法做到這一點,例如對於沒有Visual Studio的管理員?我想寫一個程序或一個隱藏的頁面或菜單,將檢查數據庫版本,並做的東西來更新結構... – Bob5421

+0

然後你必須生成'遷移腳本'。通過使用該腳本'DBA'可以運行那些針對沒有**'VS'的相關db **。 – Sampath

+0

謝謝,但我不明白你如何生成這些遷移腳本? – Bob5421

0

DbUp是一個其他的開源工具,它是有效的,並提供了強大的功能,在EF代碼第一種方法進行生產DB升級。

Here是一篇比較Dbup開源工具和EF遷移功能的資料性文章。