2012-12-18 66 views
109

如何使用實體框架5代碼優先遷移來創建從初始(空)狀態到最新遷移的完整數據庫腳本?從EF 5生成完整的SQL腳本代碼優先遷移

的博客文章在MSDN Blog建議要做到這一點,但它似乎創建一個空的腳本:

Update-Database -Script -SourceMigration: $InitialDatabase 
+0

https://msdn.microsoft.com/en-us/library/jj591621(v=vs.113).aspx#Generating-Idempotent-Scripts-EF6-onwards –

回答

213

的API似乎已經改變了(或者至少,它不爲我工作)。

運行的軟件包管理器控制檯下面按預期工作:

Update-Database -Script -SourceMigration:0 
+10

我意識到這是正確的答案,但如何當你的參數通常是一個字符串時,你是否發現0有效?! –

+20

嘗試一切我能想到的欺騙它進入工作狀態後,真正的試驗和錯誤:) –

+0

這是否創建了數據庫的精確副本?包括表格內容? – Multitut

2

要添加到馬特·威爾遜的答案,我有一堆代碼,第一實體類的,但沒有數據庫,因爲我沒有采取備份。所以我做了以下對我的實體框架項目:在Visual Studio

打開包管理器控制檯,然後輸入以下內容:

Enable-Migrations 

Add-Migrations 

給您遷移一個名稱,如「初始」,然後創建遷移。最後,鍵入以下內容:

Update-Database 

Update-Database -Script -SourceMigration:0 

最後一個命令將從您的實體類創建數據庫表(前提是您的實體類有很好的形成)。

相關問題