4
我試圖生成一個完整的SQL腳本來第一次部署我的應用程序。我知道,從包管理器控制檯命令是爲了建立一個完整的SQL腳本(參見this SO question)從EF 6代碼優先遷移和多重配置生成完整的SQL腳本
Update-Database -Script -SourceMigration:0
我也讀到$InitialDatabase
應該是工作,而不是「0」爲源遷移。
但是,我在我的migrations文件夾中有兩個配置。我使用下面的語法:
Update-Database -Script -SourceMigration:0 -ConfigurationTypeName MyConfig
我回來了一個空的腳本爲我的所有配置。
請注意,我已啓用自動遷移功能,並未向其添加任何明確的遷移。
它們位於不同的名稱空間中(如果這一點很重要的話,它們就是不同程序集中的實際上下文類)。我可以在包管理器中使用「update-database」,它的工作原理完美無瑕。它只是不生成SQL代碼(我的解決方法是僅使用SSMS導出DDL。) –
即使它們位於同一目錄中,也應該支持兩種遷移配置具有不同名稱空間的情況。如果您可以重新制作這種情況,您是否可以在entityframework.Codeplex.com上記錄一個錯誤?我編輯了我的解決方案,上面有一些示例代碼,用於指定MigrationsDirectory,這是推薦的每種解決方案具有多個遷移上下文的方式。 – lukew
正如我所說的,直接從框架管理器更新數據庫完美工作。這只是沒有生成的SQL腳本。 –