一、准备工作
1.新建一个MVC项目
2.NuGet最新版(网址是:https://www.nuget.org/packages/EntityFramework)
3.NuGet需要导入到项目里面
工具>NuGet包管理器>管理解决方案的NuGet 程序包>浏览>找到.NET EntityFramework>选择版本安装即可
二、创建Model类
1.在Model文件夹里创建一个类,这个类是数据库里的名字,起任何名字都可以
2.需要引入
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
3.在这里面可以建立表之间的关系
[Table("t_course")] //可以通过Attribute的形式修改自动生成的表名,否则将生成courses复数形式的表
public class Course
{
[Key]
public int ID { get; set; }
[Required]
public string course_Name { get; set; }
public string course_code { get; set; }
public virtual ICollection<StuCourse> StuCousers { get; set; }
}
public class Student
{
[Key]
public int ID { get; set; }
[Required]
[MaxLength(10)]
public string stu_Name { get; set; }
public string stu_Pwd { get; set; }
public string stu_sex { get; set; }
public int stu_age { get; set; }
public virtual ICollection<StuCourse> StuCousers { get; set; }
}
public class StuCourse
{
[Key]
public int ID { get; set; }
public int StudentID { get; set; }
public int CourseID { get; set; }
public virtual Student Student { get; set; }
public virtual Course Course { get; set; }
}
}
三、新建DAL文件夹,添加类上下文Database_Context
public class EFDBContext : DbContext
{
public EFDBContext() : base("EFDBContext") //数据库链接的Web.config中结点名字,可以修改
{
}
public virtual DbSet<Student> Students { get; set; }
public virtual DbSet<Course> Courses { get; set; }
public virtual DbSet<StuCourse> StuCouse { get; set; }
}
四、配置数据库连接信息
在web.config里面写入连接数据库的字段
<connectionStrings>
<add name="EFDBContext" connectionString="Data Source=.;Initial Catalog=School;Persist Security Info=True;User ID=sa;Password=123;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
</connectionStrings> // name 必须对应结点名字, Data Source是连接哪个数据库,Initial Catalog是连接到哪个库,ID为登陆名,Password为密码
五、生成数据库迁移文件
1. 工具>NuGet包管理器>程序包管理控制台
2. 运行命令 Enable-Migrations.
运行有时会发生错误,检查一下是否安装了.NET EntityFramework
运行完毕后在解决方案管理器里会多出一个文件夹叫Migrations,这里面有一个Configuration.cs的文件
3. 运行命令Add-Migration,此命令会在Migrations文件夹下新增一个数据库迁移文件,文件内容为创建或修改数据库的表的代码.
创建时Name随意输入.
4. 运行命令Update-Database或Update-Database-Force,执行最新数据库迁移文件,更新DB中的表信息
六、修改表以及自动迁移
在创建好表之后要修改表很简单,直接修改Model,然后执行Add-Migration,会自动产生一个数据库迁移文件,在执行Update-Datebase就会更新数据库中的表了;
还有一种方式可以开启自动迁移,修改Migrations文件夹下的Configuration,将AutomaticMigrationsEnabled的值修改为true即可,这样一来在修改Model后就可以直接执行Update-Database命令来更新DB了;