在 Entity Framework Designer 中還原到 ObjectContext

在先前版本的 Entity Framework 中,使用 EF Designer 建立的模型會產生源自 ObjectContext 的上下文,以及源自 EntityObject 的實體類別。

從 EF4.1 開始,我們建議切換到一個能產生上下文的程式碼產生範本,該範本會從 DbContext 和 POCO 實體類別衍生出來。

在 Visual Studio 2012 中,所有用 EF Designer 建立的新模型預設都會產生 DbContext 程式碼。 現有模型會繼續產生基於 ObjectContext 的程式碼,除非你決定切換到 DbContext 程式碼產生器。

回到 ObjectContext 的程式碼生成

1. 停用 DbContext 程式碼產生

衍生的 DbContext 和 POCO 類別的產生是由專案中的兩個 .tt 檔案處理,如果你在解決方案總管中展開 .edmx 檔案,你會看到這些檔案。 把這兩個檔案都從你的專案中刪除。

程式碼生成檔案

如果你用的是 VB.NET,你需要選擇 「顯示所有檔案 」按鈕才能看到巢狀檔案。

顯示所有檔案

2. 重新啟用 ObjectContext 程式碼產生

在 EF 設計器中開啟你的模型,右鍵點擊設計曲面的空白區塊,然後選擇 屬性

在屬性視窗中 ,將程式碼產生策略 改為 預設

程式碼生成策略