mvc如今火的不行,我今天就來介紹一個MVC5與EF6開發的實際的入門實例,因為EF6默認是Code First的,所以我今天也就用EF6 的Code First來做一個簡單的實例,為了讓實例顯得簡單,這里面就用一個表,用來展示一個表的記錄,model和dal也都在一個項目中。下面是詳細步驟:
1、創建一個mvc的項目
打開VS2013新建項目一個Web項目,框架選.NET Framewok4.5,項目名字為MiniProfilerDemo。如下圖:

接下來在彈出的窗口中選擇項目的模板為mvc,如下圖:
2、添加安裝EF框架依賴包到項目
選中剛才建的項目,右鍵彈出以下菜單:
點擊“管理nuget程序包”在下面的界面點擊“安裝”EntityFramework 6.1
安裝成功之后,會自動添加相關的dll引用到項目中。
3、添加一個Model
選中項目中的Models文件夾,添加一個Product類:
- namespace MiniProfilerDemo.Models
- {
- public class Product
- {
- public int ID { get; set; }
- public string Name { get; set; }
- public decimal Price { get; set; }
- public int Quantity { get; set; }
- }
- }
4、添加一個EF的上下文類
為項目添加一個EF的上下文類,用來做為訪問數據庫的公共類:
- using MiniProfilerDemo.Models;
- using System.Data.Entity;
- namespace MiniProfilerDemo.DAL
- {
- public class EFDbContext:DbContext
- {
- public DbSet<Product> Products { get; set; }
- }
- }
- <connectionStrings>
- <add name="EFDbContext" connectionString="Server=.;Database=MiniProfilerDemo;uid=sa;pwd=sa;" providerName="System.Data.SqlClient" />
- </connectionStrings>
- public EFDbContext(): base("數據庫鏈接的結點名字")
- {
- }
5、創建一個展示Model類的Controller和視圖
1、選中項目的Controller文件夾,添加一個名字為Product的Controller
- using MiniProfilerDemo.DAL;
- using System.linq;
- using System.Web.Mvc;
- namespace MiniProfilerDemo.Controllers
- {
- public class ProductController : Controller
- {
- public ActionResult Index()
- {
- using (EFDbContext db=new EFDbContext())
- {
- var m = db.Products.ToList();
- return View(m);
- }
- }
- }
- }
- @model List<MiniProfilerDemo.Models.Product>
- @{
- ViewBag.Title = "ProductList";
- }
- <h2>ProductList</h2>
- <table class="table">
- <thead>
- <tr>
- <th>ID</th>
- <th>Name</th>
- <th>Price</th>
- <th>Quantity</th>
- </tr>
- </thead>
- <tbody>
- @foreach (var item in Model)
- {
- <tr>
- <td>@item.ID</td>
- <td>@item.Name</td>
- <td>@item.Price</td>
- <td>@item.Quantity</td>
- </tr>
- }
- </tbody>
- </table>
這個視圖的綁定的model類型為強類型List<MiniProfilerDemo.Models.Product>,數據記錄用了一個表格展示。
6、查看頁面,運行結果
第一次運行頁面,是沒有數據,這是正常的,因為剛開始連數據庫都還沒有,運行的時候EF會根據之前配置的數據庫鏈接和EF上下文,自動創建一個數據庫和Model對應的表,如下圖:

下面我們手動打開表Product,添加一些記錄進去
再次刷新頁面就有剛才添加的數據了,如下圖: