首页 > 其他 > 详细

关于EntityFramework的Migration

时间:2014-11-04 09:14:32      阅读:230      评论:0      收藏:0      [点我收藏+]

最近项目需要,用到了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

原文:http://www.cnblogs.com/ArrowTip/p/CodeFirst_Migration.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!