ASP.NET MVC 3 Tools Update – Scaffolding

Introduction

在ASP.NET MVC 3 Tools Update中內建了Scaffolding這個功能,這個功能可以幹嘛呢,基本上它是 T4 Template 的延伸應用。POCO 工具也是 T4 的應用,能讓你根據某種規範去產生出程式碼,xml 或是 class 或是自己定義的規則。Scaffolding這個犯規的地方在於說他根據 Model 的 Class 幫你把整個網站基本功能全部架好了,如果只是後台應用幾乎很大一部份可以直接使用,修改也一定比從頭 Coding 到尾還要簡單多。

Requirement

Visual Studio 2010

Entity Framework 4.1

ASP.NET MVC 3 Tools Update

NuGet(Optional)

MvcScaffolding(Optional)

image

▲利用Scaffolding查詢就有數款工具可以參考

Implement

先準備好 Model 還有 Entity ,不論是 Database First ,Model First,Code First 都可以。

image

▲在MVC專案的Controllers資料夾新增Controller

image

▲如果沒有安裝MvcScaffolding則只會有上面的選項

image

▲把相關資料填完,這邊如果Model 跟 Context 在不同專案當中的話要加入參考,Advanced Options 可以設定 Master Page 的選項,按下OK之後就會開始產生相關的程式碼。

image

▲需要一段處理時間,輸出這邊可以看到產生的部分。

*如果選擇 using repository 的部分的話,需要一併建立相關聯的部分,不然參考的 interface 沒有建立起來會有錯誤。

 

image

▲產生的 List 畫面 ,包括 Edit,Create,Delete 基本功能

image

▲也加入了驗證機制

Summary

實際在執行的時候也並不是每種狀況下都可以100%沒有問題,包括像自訂類別的Complex。不過還是能夠幫助很快的先建立基本的架構,要是覺得預設的工具或是找到的功能都不夠完整的話,T4 Template 也可以不用別人的工具自己實作。之後會不會出現很多公司內部自己研發一整套 T4 ,邊跟客戶開會就邊設計 Model ,等到需求確定網站就完成了,速度快到嚇死人。難怪有人說,重點不是在寫了多少 code ,而是少寫了多少 code

Reference

Steven Sanderson – Scaffold your ASP.NET MVC 3 project with the MvcScaffolding package (NuGet MvcScaffolding package 作者的網誌)

http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/

ASP.NET MVC 3 Tools Update

http://www.microsoft.com/download/en/details.aspx?id=1491

黑大的介紹文 ASP.NET MVC 3 Tools Update

http://blog.darkthread.net/post-2011-05-18-mvc-3-tools-update.aspx

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *