首页 > 代码库 > 关于EntityFramework的Migration
关于EntityFramework的Migration
最近项目需要,用到了EF的Code First,开始的时候不知道,所以没有详细的搞,发现了几个问题,记录下来,以后看看:
1. 多对多表的时候,Configuration的配置是不能少的,找出对应表之间的主键,外键关系,通过Fluent Api进行配置,感觉还是蛮简单的。
1 modelBuilder.Entity<EquipmentClassPropertyType>()2 .HasMany(m => m.EquipmentCapabilityTestSpecification)3 .WithMany(m => m.TestedEquipmentClassProperty)4 .Map(m =>5 {6 m.ToTable("T_Equipment_EquipmentClassAndSpec");7 m.MapLeftKey("EquipmentClassPropertyID");8 m.MapRightKey("EquipmentCapabilityTestSepcID");9 });
在两个对应类中均有对方的List,这样才能形成多对多关系;关键:对应类中不能有相同的外键,这样会导致新的问题的出现;
2. 关于配置文件:
书写程序的时候,直接把数据的连接字符串链接的名称放到XXXContext中,可以节约N多功夫;
3. 就是关于数据的迁移变更问题了,刚开始,每次都干掉数据库,发现这是个问题啊,后来去看看了Migration,原来也是挺简单的;也就是几句代码的事,就是玩cmd命令一样,超级简单:
1 Enable-Migrations // 启动数据库迁移2 Add-Migration AddNewClass // 增加的新的类,完成数据变更,但是此操作只是挂起操作3 Update-Database // 将挂起的操作写入数据库,实现变更4 Update-Database -TargetMigration:$xxxx 5 // 读取原有的变更参数,恢复原来的数据
至于更复杂的命令,我们还是查看官方文档吧。。。
关于EntityFramework的Migration
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。