MVC5與EF6 Code First 第一個入門完整實例教程


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類:

 

  1. namespace MiniProfilerDemo.Models
  2. {
  3. public class Product
  4. {
  5. public int ID { get; set; }
  6. public string Name { get; set; }
  7. public decimal Price { get; set; }
  8. public int Quantity { get; set; }
  9. }
  10. }

 

4、添加一個EF的上下文類

為項目添加一個EF的上下文類,用來做為訪問數據庫的公共類:

  1. using MiniProfilerDemo.Models;
  2. using System.Data.Entity;
  3. namespace MiniProfilerDemo.DAL
  4. {
  5. public class EFDbContext:DbContext
  6. {
  7. public DbSet<Product> Products { get; set; }
  8. }
  9. }

 

在Web.config中加入一個數據庫鏈接:
  1. <connectionStrings>
  2. <add name="EFDbContext" connectionString="Server=.;Database=MiniProfilerDemo;uid=sa;pwd=sa;" providerName="System.Data.SqlClient" />
  3. </connectionStrings>
注意:上面的數據庫鏈接字符串你要根據的自己的數據庫來做相應的調整,這個數據庫鏈接的結點名字為“EFDbContext”和上面建的EF的上下文類名字一樣。在EF上下文類中沒有指定結點名稱、默認就是類名稱與數據庫鏈接配置結點名同名,當然你在實踐中也可以不一樣,但是這樣你的EF的上下文類就要多加一個構造函數:
  1. public EFDbContext(): base("數據庫鏈接的結點名字")
  2. {
  3. }

 

5、創建一個展示Model類的Controller和視圖

 

1、選中項目的Controller文件夾,添加一個名字為Product的Controller
  1. using MiniProfilerDemo.DAL;
  2. using System.linq;
  3. using System.Web.Mvc;
  4. namespace MiniProfilerDemo.Controllers
  5. {
  6. public class ProductController : Controller
  7. {
  8. public ActionResult Index()
  9. {
  10. using (EFDbContext db=new EFDbContext())
  11. {
  12. var m = db.Products.ToList();
  13. return View(m);
  14. }
  15. }
  16. }
  17. }
2、把光標移動到上面的Action為Index方法的內,右鍵彈出菜單點擊“添加視圖”,在里面輸入下面的內容:
  1. @model List<MiniProfilerDemo.Models.Product>
  2. @{
  3. ViewBag.Title = "ProductList";
  4. }
  5. <h2>ProductList</h2>
  6. <table class="table">
  7. <thead>
  8. <tr>
  9. <th>ID</th>
  10. <th>Name</th>
  11. <th>Price</th>
  12. <th>Quantity</th>
  13. </tr>
  14. </thead>
  15. <tbody>
  16. @foreach (var item in Model)
  17. {
  18. <tr>
  19. <td>@item.ID</td>
  20. <td>@item.Name</td>
  21. <td>@item.Price</td>
  22. <td>@item.Quantity</td>
  23. </tr>
  24. }
  25. </tbody>
  26. </table>

這個視圖的綁定的model類型為強類型List<MiniProfilerDemo.Models.Product>,數據記錄用了一個表格展示。

6、查看頁面,運行結果

 

第一次運行頁面,是沒有數據,這是正常的,因為剛開始連數據庫都還沒有,運行的時候EF會根據之前配置的數據庫鏈接和EF上下文,自動創建一個數據庫和Model對應的表,如下圖:

 

下面我們手動打開表Product,添加一些記錄進去

再次刷新頁面就有剛才添加的數據了,如下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM