MVC
從.NET 3.5開始,.NET提供了概念模型(conceptual model)的 Entity Framework,概念模型可以根據資料庫(Database First)建立 Model 與資料庫的對應關係,並且存成 XML 檔案,副檔名為 EDMX,讓你可以有 GUI 來管理 Model,如下圖。
.NET4.0(EF4),推出了 Model First,可以先不用先有資料庫,而從概念模型定義 Model 是什麼,進而產生實體資料庫。EF4 提供了 Model First 跟 Database First 的方式來管理 Model,而用 Model First 與 Database First 都是需要用到 EDMX 來產生對應的 Model Class。
EF4同時也推出了新的管理 Model 的方式,稱為 Code First。使用 Code First 不需要有 EDMX來做 Model 的管理。沒有了EDMX,Code First 使用 POCO classes來定義 domain model。
Code First, Database First 和 Model First 都是為了使用 Entity Framework 建立 Entity Data Model 的方式。其實 Entity Framework 不管如何建立 Model,因為在有 Model 後,Entity Framework 在 runtime 所做的行為都是是一樣的。
無論是選擇 EDMX 來管理 Model 或者是 Code-based Modeling 來管理 Model 其實都是可以達成目的。根據下圖,可以了解之間的差別。
在 Models 資料夾點擊滑鼠右鍵 → 加入 → 類別 → 選擇資料 → ADO.NET 實體資料模型
自動在 Web.config 產生連線字串(預設為 Windows 驗證登入)
設定連線字串:
自動在 Web.config 產生連線字串(選擇 SQL Server 驗證登入)
點擊「新增連接」
連接字串選項勾選「是,在連接字串中包含敏感性資料」
目前的資料庫是空的,所以不用選擇
完成後在 Models 資料夾會建立 Model1.cs
Model1.cs
新增 Customer.cs
及 Address.cs
,而兩個 Model 就是對應到資料庫的兩個 Table。
Customer.cs
Address.cs
在 Modle1.cs
加入 Customer.cs
和 Address.cs
Enable-Migrations
,會建立 Magrations 資料夾和Configuration.cs
。Add-Migration [移轉名稱]
,產生資料庫變更記錄:時間戳記_移轉名稱.cs
。Update-Database
,將內容更新到資料庫。如果類別有更動或是新增,只要重新執行Add-Migration [移轉名稱]
與Update-Database
指令
參考資料