共用方式為


設計器程式碼產生範本

當你使用 Entity Framework Designer 建立模型時,你的類別和衍生上下文會自動為你產生。 除了預設的程式碼產生外,我們還提供多種範本,可用來自訂所產生的程式碼。 這些範本以 T4 文字範本形式提供,讓你在需要時可以自訂範本。

預設產生的程式碼取決於你在哪個版本的 Visual Studio 建立模型:

  • 在 Visual Studio 2012 和 2013 中建立的模型會產生簡單的 POCO 實體類別,以及一個源自簡化版 DbContext 的上下文。
  • 在 Visual Studio 2010 建立的模型會產生源自 EntityObject 的實體類別,以及源自 ObjectContext 的上下文。

備註

我們建議在新增模型後切換到 DbContext 產生器範本。

本頁介紹可用的範本,並提供如何將範本加入模型的說明。

可用的範本

以下範本由 Entity Framework 團隊提供:

DbContext 產生器

此範本將產生簡單的 POCO 實體類別及使用 EF6 從 DbContext 衍生的上下文。 除非你有理由使用下面列出的其他範本,否則這是推薦的範本。 如果你使用最新版本的 Visual Studio(Visual Studio 2013 以後),這也是預設的程式碼產生範本:當你建立新模型時,這個範本會預設使用,而 T4 檔案(.tt)則會巢狀在你的 .edmx 檔案下方。

舊版 Visual Studio

  • Visual Studio 2012: 要取得 EF 6.x 的 DbContextGenerator 範本,你需要安裝最新的 Visual Studio 實體框架工具 ——詳情請參閱 「取得實體框架 」頁面。
  • Visual Studio 2010:EF 6.x 的 DbContextGenerator 範本無法在 Visual Studio 2010 中使用。

EF 5.x 的 DbContext 產生器

如果你使用的是較舊版本的 EntityFramework NuGet 套件(主要版本為 5),你需要使用 EF 5.x 的 DbContext 產生器 範本。

如果你使用的是 Visual Studio 2013 或 2012,這個範本已經安裝好了。

如果你使用 Visual Studio 2010,新增範本時需要選擇 「線上 」標籤,才能從 Visual Studio Gallery 下載。 或者你也可以事先從 Visual Studio Gallery 安裝範本。 由於範本已包含在 Visual Studio 的後續版本中,圖庫中的版本只能安裝在 Visual Studio 2010 上。

EF 4.x 的 DbContext 產生器

如果你使用的是較舊版本的 EntityFramework NuGet 套件(主要版本為 4),你需要使用 EF 4.x 的 DbContext 產生器 範本。 新增範本時可以在 線上 標籤中找到,或者你也可以事先從 Visual Studio Gallery 安裝範本。

EntityObject 產生器

此範本會產生源自 EntityObject 的實體類別,以及源自 ObjectContext 的上下文。

備註

考慮使用 DbContext 產生器

DbContext 產生器現已成為新應用程式的推薦範本。 DbContext 產生器利用較簡單的 DbContext API。 EntityObject 產生器持續提供以支援現有應用程式。

Visual Studio 2010、2012 與 2013

加入範本時,您需要選擇「 線上 」標籤,才能從 Visual Studio Gallery 下載。 或者你也可以事先從 Visual Studio Gallery 安裝範本。

EF 5.x 的 EntityObject 產生器

如果你使用 Visual Studio 2012 或 2013,新增範本時需要選擇 「線上 」標籤,才能從 Visual Studio Gallery 下載。 或者你也可以事先從 Visual Studio Gallery 安裝範本。 由於範本包含在 Visual Studio 2010 中,圖庫中的版本只能安裝在 Visual Studio 2012 和 2013 上。

如果你只想產生 ObjectContext 程式碼,而不需要編輯範本,可以 還原成 EntityObject 程式碼產生

如果你正在使用 Visual Studio 2010,這個範本已經安裝好了。 如果你在 Visual Studio 2010 建立新模型,這個範本預設會被使用,但 .tt 檔案不會包含在你的專案中。 如果你想自訂範本,就需要把它加入你的專案。

Self-Tracking 實體(STE)產生器

此範本會產生 Self-Tracking 實體類別及源自 ObjectContext 的上下文。 在 EF 應用程式中,情境負責追蹤實體的變更。 然而,在 N 階層情境中,可能無法在修改實體的階層取得上下文。 自我追蹤實體幫助你追蹤任何層級的變動。 欲了解更多資訊,請參閱 自我追蹤實體

備註

不推薦使用 STE 範本

我們不再建議在新應用程式中使用 STE 範本,但它仍可支援現有應用程式。 請參閱 「斷開實體」文章 ,了解我們推薦的其他 N 級情境選項。

備註

STE 範本沒有 EF 6.x 版本。

備註

STE 範本沒有 Visual Studio 2013 版本。

Visual Studio 2012

如果你使用 Visual Studio 2012,新增範本時需要選擇 「線上 」標籤,才能從 Visual Studio Gallery 下載。 或者你也可以事先從 Visual Studio Gallery 安裝範本。 由於範本包含在 Visual Studio 2010 中,圖庫中的版本只能安裝在 Visual Studio 2012 上。

Visual Studio 2010**

如果你正在使用 Visual Studio 2010,這個範本已經安裝好了。

POCO 實體產生器

此範本會產生 POCO 實體類別及源自 ObjectContext 的上下文

備註

考慮使用 DbContext 產生器

DbContext 產生器現已成為新應用程式中產生 POCO 類別的推薦範本。 DbContext 產生器利用新的 DbContext API,能產生更簡單的 POCO 類別。 POCO 實體產生器持續提供以支援現有應用程式。

備註

STE 範本沒有 EF 5.x 或 EF 6.x 版本。

備註

POCO 範本沒有 Visual Studio 2013 版本。

Visual Studio 2012 與 Visual Studio 2010

加入範本時,您需要選擇「 線上 」標籤,才能從 Visual Studio Gallery 下載。 或者你也可以事先從 Visual Studio Gallery 安裝範本。

什麼是「網站」範本

「網站」範本(例如 EF 5.x C# 網站的 DbContext 產生器)用於透過 檔案 -> 新 -> 網站...建立的網站專案。這些不同於透過 檔案 -> 新檔 -> 專案...建立的網頁應用程式,後者使用標準範本。 我們提供獨立的範本,因為 Visual Studio 的項目範本系統需要它們。

使用範本

要開始使用程式碼產生範本,請在 EF Designer 中右鍵點擊設計表面上的一個空位,並選擇 新增程式碼產生項目...

新增代碼生成項目

如果你已經安裝了想用的範本(或是它已經包含在 Visual Studio 裡),那麼它會在左側選單的 程式碼資料 區塊中找到。

已安裝範本

如果你還沒安裝範本,請從左側選單選擇 「線上 」,然後搜尋你想要的範本。

搜尋範本  

如果你使用 Visual Studio 2012,新的 .tt 檔案會巢狀放在 .edmx 檔案下方。*

備註

在 Visual Studio 2012 建立的模型,你需要刪除用於預設程式碼產生的範本,否則會出現重複的類別和上下文。 預設檔案是 <model name.tt><model name.context.tt>。 

VS2012 範本

如果你用的是 Visual Studio 2010,tt 檔案會直接加入你的專案。  

VS2010 範本