2016-04-25 89 views
0

我們有一個數據庫,它們使用CodeFirst構建它。 現在我運行了一條SQL命令並向該數據庫添加了一個新表。 但現在我還想看到它的生成的對象類,它的DBContext定義,等等。在代碼中的第一個代碼,所以我可以在我的LINQ查詢中使用它們。 所以我做了以下3號方法從此MSDN頁面: https://msdn.microsoft.com/en-us/library/jj200620.aspx在使用CodeFirst創建的DBContext中包含一個新表格

但它沒有做到這一點。例如,它沒有添加任何定義這個新表DBContext.cs文件,例如所用的是有這樣的定義我所有的其他表:

DbSet<Zipcode> Zipcodes { get; set; } 

但一直沒有添加我什麼。

這樣做的正確方法是什麼?

回答

0

我不知道一種方法來簡單地添加一個新表,並使其與現有模型「即插即用」,無需手動工作。我知道的有兩個選項:

  1. 重建使用代碼首先從數據庫模型,包括您添加的表
  2. 手動創建該表爲一類,並在模型中加入DbSet和實體在OnModelCreating方法
+0

我真的從第一位開始。所以你的意思是我應該仍然手動添加DbSet定義到我的上下文中? – Travolta

+0

不,你不需要在這種情況下手動添加DBSet。使用#1路線,首先刪除原始模型和所有關聯的類。然後創建一個新模型(如果您想要原始模型,則使用相同的名稱),並創建您想要的所有表格,就像您第一次創建模型時一樣。如果刪除原始模型並將新模型添加到所需的所有表格中,則無需手動添加DBSets。 –

+0

ok我如何刪除原始模型?這個東西,我最看到它作爲POCO類,它們的名字與DB中表的名字相同。 – Travolta

0

Code First from Database只適用於已有數據庫的情況。如果你想添加一個新的表,你將不得不開始使用代碼優先(單獨),這意味着:在實體郵編到模型,DbSet添加到的DbContext後,當你編譯將在數據庫中生成de表。

相關問題