MVC入门 Model层设计+Code First EntityFrameWork(2)
程序员文章站
2022-06-10 19:20:07
...
在开始之前,先声明一下,写本系列教程是参照 韩迎龙(Kencery)http://www.cnblogs.com/hanyinglong/category/399820.html 的博客,然后把我的思想融入到这个框架中,如有任何版权问题请给我留言。 切入正题,这一章主要介绍Model层的设计,用的是EntityFrame
在开始之前,先声明一下,写本系列教程是参照
韩迎龙(Kencery)http://www.cnblogs.com/hanyinglong/category/399820.html 的博客,然后把我的思想融入到这个框架中,如有任何版权问题请给我留言。
切入正题,这一章主要介绍Model层的设计,用的是EntityFramework,由于项目初期可能数据库字段经常发生改变,所以用的是CodeFirst。
在Model项目中新建User类,内容如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Model { public class User { public int Id { get; set; } public string Name { get; set; } public string Pwd { get; set; } } }在Model项目中新建Role类,内容如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Model { public class Role { public int Id { get; set; } public int RoleValue { get; set; } public string RoleName { get; set; } } }
暂时这两个类的字段定义如此,随着项目的完善,这两个类的字段会有所变化。
现在,该是EntityFramework出场的时候了,
一.建立数据库上下文类(在Model类库中建立HelloMVCDataContext.cs),我理解数据库上下文就是,把数据库的所有表映射到这个类中,操作这个类就像操作数据库字段一样。具体代码如下
using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Text; namespace Model { public class HelloMVCDataContext : DbContext { public DbSet需要注意一下,需要引用System.Data.Entity.dll 和EntityFramework.dll我用的是EntityFramework5.0 。UserDb { get; set; } public DbSet RoleDb { get; set; } } }
二.在Web.config中配置数据库上下文的连接字符串,具体如下:
三.测试下code first 是否配置正确,在Ocean.HelloMVC项目中,Controllers文件夹中HomeController类的Index方法中添加代码,具体如下
public ActionResult Index() { Model.HelloMVCDataContext db = new Model.HelloMVCDataContext(); db.RoleDb.ToList(); ViewBag.Message = "修改此模板以快速启动你的 ASP.NET MVC 应用程序。"; return View(); }
四.运行程序,如果没有报错。证明配置正确,也可以查看Ocean.HelloMVC项目中App_Data文件夹下时候已经生成配置的数据库。
今天的CodeFirst就暂时到这里,下一章会讲解IDAL和DAL层。
上一篇: 怎样去阅读一份php源代码
下一篇: 问题为啥删不了????