2014-10-09 42 views
1

我正在開發一個使用EF 6 Code First到現有數據庫的ASP.NET MVC 4.5項目。我想創建一些新的表與外鍵關係到我創建的dbcontext中的一個表。我已經修改並添加了原始表中的列,創建了多個遷移。該表中有真實的數據。向實體框架6添加表的最佳方式代碼優先於現有數據庫?

我寧願在數據庫中創建新表,但看不到EF如何爲我生成模型。我可以自己編寫模型,但沒有看到有關如何將它添加到由EF生成的上下文類的任何文檔。然後,遷移將失去作用。

所以我認爲最好的辦法是刪除所有的遷移,刪除上下文類並刪除遷移表。然後,我可以從頭開始初步遷移。我錯過了一些困惑嗎?有沒有更好的辦法?

+0

您可以使用VS 2012/2013中最新的EF工具從現有數據庫生成代碼優先模型 – ErikEJ 2014-10-09 15:09:27

+0

是的,這正是我開始所做的。現在我正在問我在我的問題中描述的情況下繼續進行的最佳方式。 – JaneH 2014-10-09 16:26:10

+0

我對你的dbContext中的類使用Word「table」類感到困惑 – ErikEJ 2014-10-09 16:34:00

回答

0

FWIW給其他人面臨這種​​困境,我想通了。首先,我擺脫了所有的遷移,繼這裏的100多個最新投票答案:Reset Entity-Framework Migrations

其次,我在數據庫中創建了新的表和約束。

第三,我在我的解決方案中創建了一個新實體,並從數據庫中生成了模型類。我將來自舊實體的呼叫改爲新實體。生成器覆蓋原始表格的模型,但由於我擁有版本控制中的所有註釋,所以將它們粘貼到它們中是微不足道的。

如果需要,我可以再次啓用遷移。

希望這會有所幫助。

相關問題