使用模型创建数据库
大家好,在介绍完MVC的生命周期后,我们也许迫不及待的想知道究竟MVC之间是怎样传递处理数据的,数据之间又是怎样联系的。
我们先来交流Model层的工作介绍:
5.1 Model的任务:
在MVC里,Model简称模型,是在三层中处理数据数据实体操作的,它可以手动创建模型,也可以自动创建模型,相当于三层结构中的模型实体层。
在model的数据,由于只处理与数据相关的操作,所以不会处理所有与数据操作无关的业务逻辑,比如网站流程控制。而是专注于数据格式验证,数据实体定义和数据传递。
5.2 自动创建Model层:
使用VisualStudio开发MVC项目时,适当的利用工具自动创建Model,在项目中快速构建,节省我们开发繁琐Model的时间,使我们把更多精力放在业务数据处理上。

下面我们用Linq To SQL 自动创建实体模型:
第一:我们新建-----------创建MVC项目----------右击解决方案----------添加新项------------选择LinQ To SQL创建模型

选择LinQ To SQL后,命名为User.dbml



到此,我们利用VS自带的LInQ To SQL创建了模型实体,这就是自动创建实体模型的步骤,这里我们重点放在Entity Framework创建模型上。
5.3 手动创建模型层:
在MVC 中创建模型,其实和三层里面,即ASP.NET里面没多大区别,请看:
你也许会问,既然能通过LInQ To SQL创建实体数据模型,那么还要手动创建干什么?
答:原因在于自动创建的实体模型不一定符合数据显示和输入的要求,因此手动创建辅助。

有关 数据模型介绍看后面陆续交流的文章。
下面我们用代码案例来演示解释模型建立的方法:
假定数据库有一张班级表,班级表有班级名和专业名两个字段,那样手动建立的模型实体是这样的:
public class Classes
{
/// <summary>
/// 班级模型
/// </summary>
[Key]
public int ClaId { get; set; }
/// <summary>
/// 班级名称
///</summary>
//显示
[Display(Name = "班级名称", Description = "2-20个字符。")]
//错误显示
[Required(ErrorMessage = "×")]
//字段长度2-20个字符。
[StringLength(20, MinimumLength = 2, ErrorMessage = "×")]
public string ClaName { get; set; }
/// <summary>
/// 专业
/// </summary>
[Display(Name = "专业名称")]
[Required(ErrorMessage = "×")]
[StringLength(50, MinimumLength = 1, ErrorMessage = "×")]
public string ClaProfession { get; set; }
}
}
这是MVC 创建模型的方式方法。
动态生成数据库:
public class SqlConText:DbContext
{
//<Classes>映射班级模型
public DbSet<Classes> Classes_{ get; set; }
//模型驱动数据,自动生成数据
public SqlConText()
//DefaultConnection:数据存放位置
: base("DefaultConnection")
{
Database.CreateIfNotExists();
}
}
上面代码是MVC4里面的新知识,叫做领域模型驱动数据库,就是说,数据库在模型建立好后数据库就一并建立好了,上面这段代码就是自动创建数据库的代码,请仔细体会。
到此,我们就介绍完了模型Model层的重点知识了,有关深入,我们会在后续的MVC项目中介绍。
文章出处:http://www.tuicool.com/articles/EzuIZz
http://blog.csdn.net/hzh_19870110/article/details/8836611
本文属于转发文章,如有侵犯您的权益请留言,我会马上删除。

浙公网安备 33010602011771号