在錯誤中學習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就可以看到伺服器總管,展開資料表後就可以看到剛剛設定好的模型已經被建成資料表囉!



  1. 有了Model之後,我們來建立Contorller來試試看CURD(新增、更新、讀取與刪除)的效果


18.我們可以透過Scaffold,快速產生CURD,請選擇我們剛剛建立的User類別,以及連線



  1. UserController已經包含CURD的程式碼,連檢視都一起產生好了



  2. 瀏覽User/Create,就可以直接新增資料了





  1. 再來建立EmailController



  2. 執行Email/Create,發現User欄位的下拉式選單竟然可以直接顯示目前的User列表,Scaffold真的太強了,不過當然也是因為我們剛剛有設定關聯XD



透過22個步驟就能快速開發好設定使用者的Email功能了,完全沒用到SQL Server Management Studio也完全沒寫到code,要是沒有透過Scaffold,應該要會寫很久,有空也可以去參考一下Scaffold產生的code與檢視的內容喔!未來有機會會在針對Scaffold做說明

下載今日專案: https://github.com/juben-wang/MvcApplication22

留言

這個網誌中的熱門文章

CPE 一顆星選集題目說明與解答 - Java 筆記與心得分享

Visual Studio 自動排版格式化程式碼

1. Vito's family (CPE10406, UVA10041) - CPE一顆星解答與說明