1

我有一個項目遵循John Papa about SPA的過程。 所以,我的體系結構如下:實體框架5代碼優先遷移:獲取數據庫腳本

**proj.Data.Data** 
    /Configuration  
     Mappings of the entities with Fluent 
    ProjContext.cs 
    ProjInitializer.cs 
    EFRepository.cs 
    /Migrations folder 

**proj.Data.Model** 
    Pocos (Entity Framework 5 Code First) 
    No reference to Entity Framework 

**proj.Data.Contracts** 
    Interface for IRepository and IProjContext 

**proj.UI.Web** 
    MVC 4/WebApi project 

我有一個現有的數據庫,我跑了實體框架的逆向工程獲得實體和從實體分離的情況下(在兩個不同的項目如上圖所示)

然後我跑(從PackageManager控制檯選擇proj.Data.Data下拉):

Enable-Migrations -force -StartupProjectName "Proj.Data.Data" 
add-migration InitialSchema 
Update-Database 
Update-Database -Script -SourceMigration $InitialDatabase 

我只在文件夾遷移看到proj.Data.Data項目名爲201211091944388_InitialSchema與更新文件一個d下來的方法爲空。沒有創建MigrationHistory表。

我需要運行什麼來獲取sql腳本從頭開始生成所有我從實體獲得的表的數據庫?

謝謝!吉列爾莫。

注意:我有一個名爲數據和Web項目解決方案文件夾名爲UI中的解決方案文件夾中的數據項目,我應該採取任何額外的步驟?

+0

尚未嘗試,但您可以嘗試在最後一行添加「-TargetMigration InitialSchema」 –

回答

0

我不知道爲什麼它不適用於逆向工程,但是我按照所有約定重新制作了模型並且工作正常。

順便說一下,如果我們在現有數據庫上運行enable-migrations命令,它將不會創建__MigrationHistory表和初始腳本。這是爲了避免現有數據庫發生變化。 無論如何感謝。

相關問題