使用模型创建数据库

  大家好,在介绍完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

本文属于转发文章,如有侵犯您的权益请留言,我会马上删除。

posted @ 2016-10-30 13:28  编程-一生坚持的事业  阅读(186)  评论(0)    收藏  举报