文章來源:?Slark.NET-博客園 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html?
上一節:ASP.NET MVC 5 入門教程 (4) View和ViewBag
下一節:ASP.NET MVC5 + EF6 入門教程 (6) View中的Razor使用
源碼下載:點我下載
一、創建Model
MVC中的Model是用來給View提供顯示數據的對象。
這里我們首先創建一個Model對象。
在解決方案資源管理器中右鍵點擊Models文件夾,選擇添加->類。添加一個名為Employee.cs的Model類。Models文件夾是默認存放所有Model的地方。
在Employee.cs文件中添加如下代碼:
namespace SlarkInc.Models {public class Employee{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }} }
這樣我們就建立好了一個Model數據模型包含Id、Name、Age三個屬性。
二、生成數據庫
為了持久化數據,我們這里用Entity Framework。
Entity Framework (EF) 簡單點說就是.NET開發中的一種訪問數據庫的方法,其最大的特點就是能通過面向對象的方法訪問數據而不用寫sql語句。
我們用EF的Code First方法創建數據庫表。
Code First方法簡單點說就是第一步用C#創建一個實體類,第二步由這個類生成對應的數據庫。
第一步上面已經完成。第二步生成數據庫表之前要創建數據庫上下文。
將Employee.cs文件中的代碼寫成如下形式:
using System.Data.Entity; namespace SlarkInc.Models {public class Employee{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; } } public class EmployeeDBContext : DbContext { public DbSet<Employee> Employees { get; set; } } }
圖中黃色標記部分就是為EF持久化添加的代碼。
EmployeeDBContext類繼承自EF提供的DbContext。EmployeeDBContext代表Employee的數據庫上下文,負責處理數據的增刪改查操作。
public DbSet<Employee> Employees { get; set; }將C#的Employee類映射到數據庫的Employee表。
這里我們使用的數據庫是?SQL Server Express LocalDB。它是?SQL Server 的輕量級免費版。好處是VS自帶,不用額外安裝。這樣我給大家上傳的代碼可以直接創建數據庫,不用額外的安裝和配置。便于學習。
下面我們來配置數據庫鏈接,來連接到這個數據庫。從解決方案資源管理器根目錄打開web.config。這是一個XML配置文件。找到其中的<connectionStrings>...</connectionStrings>元素并將其內容寫成如下代碼。
<connectionStrings><add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-SlarkInc-20141130103639.mdf;Initial Catalog=aspnet-SlarkInc-20141130103639;Integrated Security=True"providerName="System.Data.SqlClient" /><add name="EmployeeDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Employees.mdf;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>
上面代碼中黃色標記的就是新添加的數據庫鏈接。有幾點值得關注:
-
name="EmployeeDBContext"要與創建的DBContext類名字相同。這樣DBContext才能使用這個數據庫鏈接。
-
AttachDbFilename=|DataDirectory|\Employees.mdf;指出了數據庫文件的儲存位置和文件名。在一般MVC5項目中它應該是在App_Data文件夾下。文件名是Employees.mdf。
下面我們來創建操作Model的Controller和View。
在解決方案資源管理器中右鍵點擊Controllers文件夾選擇添加->控制器,在彈出的選擇支架的窗口中選擇包含視圖的MVC5控制器(使用 Entity Framework)。點擊確定。
在彈出的添加控制器對話框中做如下圖配置。
- 控制器名稱:EmployeesController
- 模型類:Employee (SlarkInc.Models)
- 數據上下文:EmployeeDBContext (SlarkInc.Models)
- 下面三個勾選框都要打勾
- 點擊添加
項目中會自動添加一個Model類對應的Controller和View對Model進行增刪改查的操作。
在解決方案資源管理器中右擊Views文件夾下Employees文件夾下的Index.cshtml選擇在瀏覽器中查看。得到如下結果。
可以看到一個Model對應的空列表。
?下面我們來查看數據庫。如下圖所示在解決方案資源管理器下面的小圖標中點擊顯示所有文件,如圖所示。然后在App_Data文件夾下就會有Employees.mdf文件。這就是EF創建的數據庫文件。
雙擊Employees.mdf文件,出現服務器資源管理器窗口。如下圖右側所示。選擇數據連接->EmployeeDBContext->表->Employees,雙擊。之后,主頁面就會顯示dbo.Emplyees數據庫表設計窗口。上部分顯示表結構,下部分顯示創建表所用的T-SQL語句。
至此,Model創建及EF用CodeFirst方法生成數據庫表的操作全部完成。
您的留言和推薦是我寫作的動力,謝謝。
上一節:ASP.NET MVC 5 入門教程 (4) View和ViewBag
下一節:ASP.NET MVC5 + EF6 入門教程 (6) View中的Razor使用