1、什么是迁移???
卧槽,就是为了在原模型中添加字段或者新增模型时不改变原有的数据的功能,当然可以手动通过数据库工具添加,直观嘛。
2、怎么判断数据库是否具有迁移功能?
简单。。。。。==>查看数据库中有没有 __MIgrationHistory 这个表,当然把它删除就不具备迁移功能了,通常EF+Codefirst模式都是自带数据迁移功能的,默认的,这就时创建“空的code first”时就是这个这样的
数据迁移步骤(Mysql举例)
1、安装MySql.Data.Entity(选择最新版本的)千万不要自己手动引用EntityFramework.dll这些,不然后面迁移不成功,这是个坑
2、安装后配置app.config,主要是修改连接字符串
//Initial Catalog=HU:数据库名称
3、新建实体类,比如新建一个学生和老师的实体类,相关引用自己添加了
public class Student
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public string StudentName { get; set; }
public int ClassTeacherID { get; set; }
[ForeignKey("ClassTeacherID")]
public virtual Teacher ClassTeacher { get; set; }
}