在錯誤中學習ASP.NET MVC 第 22 篇 - 認識Model - Model First
今天從建立一個基本專案開始操作如何使用Model First來開發,就是透過先定義好模型在產生資料表的方式,接下來以一個使用者可以設定多個Email作為範例說明,此篇算是快速操作給大家看,細部的觀念等後面講Database First在一併說明,今天就先稍微感受一下XD
1.建立MVC4專案
2.使用基本範本
3.在App_Data按右鍵加入資料庫,使用localDB,命名為User
4.編輯專案下的Web.config中的connectionStrings,不知道為啥用預設的連線字串後面在產生資料庫會有問題,所以請手動修改如下:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=User;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\User.mdf" providerName="System.Data.SqlClient" />
5.在Model資料夾案右鍵,加入ADO.NET實體資料模型
6.選擇空的模型,並命名為UserModel
7.建立完成會自動開啟UserModel.edmx,在方案總管中UserModel.edmx下會產生一堆檔案,之後會再針對edmx特別說明,有興趣的可以先點開看一下,今天就先不管細節。開始透過工具建立模型,可以透過左邊的工具箱視窗拖曳控制項進來,或按右鍵。建立一個實體,其實就是一個Table的意思
8.實體集的名稱就是Table名稱
9.建立實體屬性,就是新增資料表欄位的意思
10.接著建立Email實體,點選實體屬性可以從屬性視窗中去修改型別,也就是欄位的資料型態
11.按右鍵建立關聯,一個使用者對應多的Email
12.設定一對多的關係
13.完成關聯設定後,Email會多一個UserID欄位以及User的導覽屬性,User也會多一個Email的導覽屬性。接下來完成模型設定了,就來產生資料庫囉,按右鍵選擇「由模型產生資料庫」
14.設定連線字串
15.設定完成會開啟.sql檔案,按左上方的「執行」按鈕,畫面下方會顯示執行結果,可能會要求登入sql server, 請在登入畫面"伺服器名稱"打"(LocalDb)\v11.0"然後登入,如果有錯誤也會顯示原因
16.點兩下App_Data下的User.mdf就可以看到伺服器總管,展開資料表後就可以看到剛剛設定好的模型已經被建成資料表囉!
- 有了Model之後,我們來建立Contorller來試試看CURD(新增、更新、讀取與刪除)的效果
18.我們可以透過Scaffold,快速產生CURD,請選擇我們剛剛建立的User類別,以及連線
UserController已經包含CURD的程式碼,連檢視都一起產生好了
瀏覽User/Create,就可以直接新增資料了
再來建立EmailController
執行Email/Create,發現User欄位的下拉式選單竟然可以直接顯示目前的User列表,Scaffold真的太強了,不過當然也是因為我們剛剛有設定關聯XD
透過22個步驟就能快速開發好設定使用者的Email功能了,完全沒用到SQL Server Management Studio也完全沒寫到code,要是沒有透過Scaffold,應該要會寫很久,有空也可以去參考一下Scaffold產生的code與檢視的內容喔!未來有機會會在針對Scaffold做說明
留言
張貼留言