Visual Studio 2013 中的 ASP.NET Scaffold

作者:Tom FitzMacken

ASP.NET Scaffolding 是包含在Visual Studio 2013中的新功能。

概觀

ASP.NET Scaffolding 是 ASP.NET Web 應用程式的程式碼產生架構。 Visual Studio 2013包含 MVC 和 Web API 專案的預先安裝程式碼產生器。 當您想要快速新增與資料模型互動的程式碼時,請將 Scaffolding 新增至專案。 使用 Scaffolding 可以縮短在專案中開發標準資料作業的時間量。

根據預設,Visual Studio 2013不支援為Web Form專案產生程式碼,但您可以將 MVC 相依性新增至專案或安裝擴充功能,以搭配 Web Form 使用 Scaffolding。 這兩種方法如下所示。

Visual Studio 2013 Update 2 (目前 RC) 提供擴充 ASP.NET Scaffolding 以符合您案例需求的能力。 透過這項功能,您可以建立自訂的 Scaffolding 範本,並將其新增至 [新增 Scaffold] 對話方塊。 在自訂範本內,您可以指定新增 Scaffold 專案時所產生的程式碼。 如需詳細資訊,請參閱 建立 Visual Studio 的自訂 Scaffolder

必要條件

若要使用 ASP.NET Scaffolding,您必須具備:

  • Microsoft Visual Studio 2013
  • Web 開發人員工具 (預設Visual Studio 2013安裝)
  • ASP.NET Web Frameworks and Tools 2013 (預設安裝Visual Studio 2013部分)
  • 使用 Visual Studio 2022 時,請安裝 Net Framework 專案和專案範本。 如需詳細資訊,請參閱這個 GitHub 問題 \(英文\)。

將 Scaffold 專案新增至 MVC 或 Web API

若要新增 Scaffold,請以滑鼠右鍵按一下專案或專案中的資料夾,然後選取 [ 新增新增 Scaffolded 專案],如下圖所示。

新增 Scaffold 專案

從 [ 新增 Scaffold ] 視窗中,選取要新增的 Scaffold 類型。

選取 Scaffold 的類型

[ 新增控制器 ] 視窗可讓您選取產生控制器的選項,包括您是否要使用 Entity Framework 6 的新異步功能。

新增控制器

系統會為您的案例建立相關的類別和頁面。 例如,下圖顯示透過 Scaffolding 為名為 Movies 的模型類別所建立的 MVC 控制器和檢視。

已建立的檔案

將 Scaffold 專案新增至 Web Form

若要新增產生Web Form程式碼的 Scaffolding,您必須將擴充功能安裝至 Visual Studio 或新增 MVC 相依性。 這兩種方法如下所示,但您只需要執行其中一種方法。

Web Form Scaffolding 擴充功能

您可以安裝 Visual Studio 擴充功能,讓您能夠搭配Web Form專案使用 Scaffolding。 在 Visual Studio 中,選取 [工具],然後選取 [擴充功能和更新]。 在此對話方塊中,搜尋 Visual Studio 資源庫以取得Web Form Scaffolding

安裝 Web 表單 Scaffolding

如需詳細資訊,請參閱Web Form Scaffolding

MVC 相依性

若要新增 MVC 相依性,請選取[新增 - Scaffolded 專案]。 在 [新增 Scaffold] 視窗中,選取 [MVC 相依性],如下所示。

新增 MVC 相依性

Scaffolding MVC 有兩個選項;最小和完整。 如果您選取 [最小],則只會將 ASP.NET MVC 的 NuGet 套件和參考新增至您的專案。 如果您選取 [完整] 選項,則會新增 [最小相依性],以及 MVC 專案的必要內容檔案。 若要輕鬆使用 Scaffolding,請選取 [完整相依性]。

選取 [完整相依性]

新增相依性之後,您會看到 readme.txt 檔案。 請仔細遵循此檔案中的指示,以確保您的專案正常運作。

當您完成readme.txt檔案中的步驟時,您可以新增新的 Scaffold 專案,如上一節中有關 MVC 和 Web API 所示。 自動產生的檢視和控制器會在您的專案中正常運作。

教學課程

若要建立自訂的 Scaffolder,請參閱建立適用于 Visual Studio 的自訂 Scaffolder

若要自訂產生的檔案,請參閱 如何從 [新增 Scaffolded 專案] 對話方塊自訂產生的檔案

如需搭配 Database First 開發使用 Scaffolding 的範例,請參閱 搭配 ASP.NET MVC 的 EF Database First

如需在MVC專案中使用 Scaffolding 的範例,請參閱搭配 ASP.NET MVC 5 消費者入門

如需在 Web API 專案中使用 Scaffolding 的範例,請參閱 在 Web API 2 中使用屬性路由建立 REST API