[Asp .Net MVC] Entity framework database first with localdb

這篇是過去初學Asp .Net MVC過程中的筆記,新增LocalDB、建立ADO資料模型、

與更新資料模型的流程,提供給大家參考。

若有錯誤請不吝指教,謝謝!

 

目錄

  1. 建立範本專案
  2. 建立local database 與資料表
  3. 建立ADO.NET Entity Data Model
  4. 更新ADO.NET Entity Data Model

 

 

建立範本專案

 

 

(Visual Studio 版本不同畫面有些差異,本篇文章使用Visual Studio 2015)
Step 1. 開啟 Visual Studio 2013/2015, 選擇檔案(file) -> 新增(new) -> 新專案(new project)
            選擇web -> ASP.Net Web Application, 輸入專案名稱,點確定。




Step 2. 選擇MVC專案,點選確定,即建立一個範本專案。

 

 

 

 

 

建立local database 與資料表

Step 1. 右鍵點選App_Data資料夾,點選新增(Add) -> 新增項目(New Item)

 

 

 

 



Step 2. 選擇資料(Data) -> SQL Server Database,名稱輸入Student.mdf

 



Step 3.選擇檢視(Vuew) -> Server Explorer



Step 4.展開(Data Connect -> 點選 Student.mdf 進行連線。

 



Step 5. 右鍵點選Tables,選擇新增資料表(Add New Table)

 



Step 6.依據下圖內容建立資料表

 



Step 7. 下方更改資料表名稱



Step 8. 完成後點選 Update 更新資料庫

 



Step 9.點選 Update Database

 



Step 10. 執行中

 



Step 11. 右鍵點選(Data Connection),點選重新整理(Refresh),即可看見新的資料表。

 

 

 

 

建立ADO.NET Entity Data Model

Step 1.右鍵點選Models資料夾,點選新增(Add) -> 新增項目(New Item)

 

 



Step 2.選擇 Data -> ADO.NET Entity Data Model,名稱輸入Student,點選Add

 



Step 3.選擇 EF Designer from database -> 下一步(Next)

 



Step 4.選擇資料連線Student.mdf ,點選下一步(Next)
           (若您的資料庫在伺服器上,可自行建立連線字串與資料連線)

 



Step 5. 選擇欲建立的資料表(table)、檢視表(View)或預存程序(Stored procedures and function)

 



Step 6. 資料模型建立完成!

 

 

 

 

 

 

 

更新ADO.NET Entity Data Model

如果需要更新資料表,可以對視窗點選右鍵,選擇Update Model from Database,
但根據自己經驗,無論做什麼變更,盡可能將資料模型刪除後再重新加入一次。
曾經多次只使用更新,卻沒有更新內容。

 

 

 

 

 

 

結論

Database First的方式,在開發專案過程中其實造成開發者必須不斷更新資料模型:
必須更新資料庫後再返回程式中更新資料模型,無形間花費許多時間。
且資料間若有關連性,或對應不同的資料型態(這裡指model與資料庫的資料型態轉換)
再更新模型的過程中必須非常小心,對於需求經常變動的專案會相當困擾。
相對的,當產品需要發佈的時候就會非常的輕鬆,資料庫與模型不一致的情況較少。

 

 

參考程式

https://github.com/matsurigoto/MvcLocalDbDbFirst.git

 

參考資料

https://msdn.microsoft.com/zh-tw/data/jj206878.aspx

 

上一篇:ORM and Entity framework 簡介
附錄    :Entity framework database first with MySQL database
下一篇:Entity framework code first with localdb



本篇文章內容歡迎分享,轉載與使用圖文請來信告知並註明出處。