MODEL 模型(例:我们在三层中的模型层一样,不过多了一个上下文操作对象(继承自DbContext),不过可以在此对字段进行验证 [Required(ErrorMessage = "必须输入父类ID")] )。
VIEW 视图 (视图页面,像我们三层中的UI层一样,只管展示。)
Controller 控制器(像我们的三层中的BLL一样,对数据库的操作和控制跳转到那个页面。)
下面就以一个简单的例子来记录从中得到的一点收获(CURD),增加对MVC的认知。还没有用到(ADO.NET实体数据模型)
1.先新建一个模型(在Model文件夹上面新建一个类).
/// <summary> /// 实体类 /// </summary> [Table("Category")]//对应表名 public class CategoryModels { public int Id { get; set; } [Required(ErrorMessage = "必须输入分类名称")] //验证规则 public string Categoryname { get; set; } [Required(ErrorMessage = "必须输入父类ID")] //验证规则 public int Followid { get; set; } } /// <summary> /// 上下文操作对象 /// </summary> public class CategoryModelsDBContext : DbContext { /// <summary> /// 初始化 /// </summary> static CategoryModelsDBContext() { Database.SetInitializer<CategoryModelsDBContext>(null); } public DbSet<CategoryModels> Category { get; set; } }2.建立控制器(在Controller上面新建一个控制器(一般是实体类名在Controller))
a. 先要引用实体类的命名空间
b.列表页
//分类的上下文 CategoryModelsDBContext db = new CategoryModelsDBContext(); public ActionResult Index() { var categorys = (from a in db.Category select a).ToList(); return View(categorys);//返回所有 }c.在Index()方面上面,增加对应视图(选择强类型的视图,类选择对应的)
d.列表的Index.cshtml中可以看到
@foreach (var item in Model) { <tr> <td> @Html.ActionLink("编辑", "Edit", new { id=item.Id }) | @Html.ActionLink("详细", "Detail", new { id=item.Id }) | @Html.ActionLink("删除", "Delete", new { id=item.Id }) </td> <td> @item.Categoryname </td> <td> @item.Followid </td> </tr> }后面是增加,查看详细,删除的操作了。。。。