Asp.Net MVC 系列--基础篇(2)

 

1.      建立一个library 命名为eStudentDomain

Asp.Net MVC 系列--基础篇(2)_第1张图片

2.      右键reference文件夹,打开nuget, 安装entity framework

Asp.Net MVC 系列--基础篇(2)_第2张图片

3.      添加三个文件夹:

Contact : 主要放与下层通信的接口

Domain Model:主要放逻辑实体

Entity : 仅用于数据表对应的实体

Asp.Net MVC 系列--基础篇(2)_第3张图片

相关代码:

public interface IStudentContext
    {
       IQueryable<Student> StudentList { get; }
       IQueryable<StudentClass> StudentClasseList { get; }
    }
 
public class eStudentDbContext :DbContext,IStudentContext
    {
       public eStudentDbContext()
           : base("DefaultConnection")
       {
           
       }
 
       /// <summary>
       /// Remember Here MUST be property!!!
       /// </summary>
       public DbSet<Student> Students { get; set; }
       public DbSet<StudentClass> StudentClasses { get; set; }
 
       public IQueryable<Student> StudentList { get { return Students; }}
       public IQueryable<StudentClass> StudentClasseList { get { returnStudentClasses; } }
    }
 
 
 public class Student
    {
       public int Id { get; set; }
       public string Name { get; set; }
       public int ClassId { get; set; }
       public DateTime JoinDate { get; set; }
       public DateTime GraduateDate { get; set; }
 
    }
 
public class StudentClass
    {
       public int Id { get; set; }
       public string Name { get; set; }
public List<Student> Students { get;set; }
}                                             


 

接下来,打开migration 。

在此之前,做以下验证:

1.      DbContext类的构造函数,传递了连接字符串:

Asp.Net MVC 系列--基础篇(2)_第4张图片

2.      Config文件里,连接字符串名称和DbContext配置的一致:


 

Domain项目的链接字符串可以不设在App.Config中,和Web Application 共用一个,配置在Web.Config里

 

然后,打开package managerconsole(就在output旁边) :

Asp.Net MVC 系列--基础篇(2)_第5张图片

会发现,执行完毕自动生成了Migrations文件夹和Configuration.cs 文件,

 

打开这个配置文件,记得 Set Automatic MigrationsEnable 为 true (默认为false),可以在seed里面写一些初始化数据库的代码,每次同步数据库都会执行seed。示例,我添加了三个班级。

 Asp.Net MVC 系列--基础篇(2)_第6张图片

                                                                          

最后,同步entity 实体和Seed中的逻辑,到数据库

 Asp.Net MVC 系列--基础篇(2)_第7张图片

到db看一看:

Asp.Net MVC 系列--基础篇(2)_第8张图片

我们添加的三个班级:

 Asp.Net MVC 系列--基础篇(2)_第9张图片

 

好了,本节主要完成:安装entity framework 包,打开数据同步,完成同步启动执行逻辑,完成Domain层的逻辑实体,以及把相应的entity结构同步到db。

下一节,我们介绍如何用做好的domain和同步好的db完成MVC应用。


你可能感兴趣的:(Asp.Net MVC 系列--基础篇(2))