• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

我们将共同携手迎接你的到来!


新的一年
新的开始
新的目标
新的收获

kevin 愛戀 20140103

博客园          联系   管理     
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,添加一些记录进去

再次刷新页面就有刚才添加的数据了,如下图:

posted on 2016-03-03 16:07  kevin_20131022  阅读(9229)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3