如何在Entity Framework Code First模式下启用迁移?(航空管理系统场景)
如何在AirlineManagementSystem的EF Code First模式下启用迁移
嘿,我来一步步帮你搞定这个问题!首先得确认你已经把Plane和User的一对多关系配置正确了——要是还没弄好,先补一下:
- 在
User类里加个外键属性和导航属性:public int PlaneId { get; set; }以及public Plane Plane { get; set; } - 在
Plane类里加集合导航属性:public ICollection<User> Users { get; set; } = new List<User>(); - 别忘了在你的DbContext类里加上这两个实体的DbSet:
public DbSet<Plane> Planes { get; set; } public DbSet<User> Users { get; set; }
接下来打开Visual Studio的包管理器控制台(路径:工具 → NuGet包管理器 → 包管理器控制台),按下面的步骤执行命令:
启用迁移
先运行这个命令,它会在项目里生成Migrations文件夹和配置文件:Enable-Migrations -ProjectName AirlineManagementSystem如果你有多个DbContext,就加上
-ContextTypeName参数指定你的上下文类名,比如Enable-Migrations -ProjectName AirlineManagementSystem -ContextTypeName AirlineDbContext。创建初始迁移脚本
现在为当前的实体模型(包含Plane、User和它们的关联)生成迁移脚本,名字可以自己取,方便后续识别:Add-Migration InitialPlaneAndUserSetup -ProjectName AirlineManagementSystem执行后,Migrations文件夹里会多出一个带时间戳的.cs文件,里面就是创建数据库表和外键关系的代码。
把迁移应用到数据库
最后一步,让EF把这个迁移脚本执行到数据库里,生成对应的表:Update-Database -ProjectName AirlineManagementSystem要是需要回滚或者指定迁移到某个版本,还可以用
-TargetMigration参数,比如Update-Database -TargetMigration:InitialCreate。
这样操作下来,你的数据库就会同步当前的实体模型啦!
内容的提问来源于stack exchange,提问作者user9312590
相关产品推荐
相关产品推荐

