2017-06-19 105 views
0

我已經有一個數據庫(在__MigrationHistory表中有一個遷移歷史記錄)和一個從零創建的項目。我使用'Code First from Database'選項並且生成了所有類。現在,我想創建一個多個表,我創建了一個類:現有數據庫和遷移

[Table("Companies")] 
public partial class Company 
{ 
    [Key] 
    public int ID { get; set; } 
    public string Name { get; set; } 
} 

然後我啓用了遷移我的情況下(有2個環境項目,2個DB使用):

啓用-Migrations -ProjectName基礎設施-ContextTypeName Infrastructure.Asset.AssetContext

它創造了 「遷移」 文件夾和文件Configuration.cs。

接下來,我嘗試添加遷移:

添加遷移-Name公司-ProjectName基礎設施

它創建的遷移,但與創建(刪除)的表,它已經存在。

爲什麼?我只想創造差異。

回答

1

您是否有權訪問原始上下文和遷移?您應該繼續在現有項目之上構建您的遷移。如果你不這樣做,那麼你應該創建一個新的Code First上下文,對現有數據庫進行逆向工程,然後重新啓用遷移以從頭開始。

+0

「逆向工程中所做的任何更改您的現有數據庫,然後重新啓用遷移以從頭開始。「 - 怎麼做?清除__MigrationHistory表? –

0

在包管理器控制檯創建遷移只需運行命令後

更新數據庫

這應該反映在遷移

+0

此命令無法執行,因爲此類對象已存在 –

+0

您是否有可視化模型?像.edmx? – SentOnLine

+0

不,只有型號代碼。 –