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

本文详细介绍如何使用Entity Framework搭建学生信息系统,包括创建项目、安装EF、定义数据模型、设置DbContext及迁移等步骤。

1.建立一个library 命名为eStudentDomain


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


3.添加三个文件夹:

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

Domain Model:主要放逻辑实体

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


相关代码:

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类的构造函数,传递了连接字符串:


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


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

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


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

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

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

到db看一看:


我们添加的三个班级:

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值