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>
}
后面是增加,查看详细,删除的操作了。。。。