关于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                                 // 读取原有的变更参数,恢复原来的数据

至于更复杂的命令,我们还是查看官方文档吧。。。

时间: 2024-10-08 20:04:28

关于EntityFramework的Migration的相关文章

Asp.Net Core

开源Asp.Net Core小型社区系统 源码地址:Github 前言 盼星星盼月亮,Asp.Net Core终于发布啦!! Asp.Net发布时我还在上初中,没有赶上.但是Asp.Net Core我从beta版本便一直关注.最初项目名叫Asp.Net VNext,然后改名叫Asp.Net 5.最煎熬的是RC1发布后,官方继续发布了改名和RC2延期的通告.这期间我已经做了一些demo项目,但是由于beta到RC2之间涉及到大量API的改动,包括dnx->dotnet cli,包括各种命名空间和工

开源Asp.Net Core小型社区系统

参考页面: http://www.yuanjiaocheng.net/ASPNET-CORE/core-identity.html http://www.yuanjiaocheng.net/ASPNET-CORE/core-authorize-attribute.html http://www.yuanjiaocheng.net/ASPNET-CORE/core-identity-configuration.html http://www.yuanjiaocheng.net/ASPNET-COR

EntityFramework Migration 数据迁移命令

常用命令集合: 1. [Enable-Migrations]开启数据迁移,开启后项目中会添加[Migrations]文件夹. 相关命令:[Enable-Migrations -EnableAutomaticMigrations ]开启自动数据迁移,不产生代码文件 2. [Add-Migration <自定义文件名>]生成数据迁移更新文件,如Add-Migration AddPost 3. [Update-Database]更新数据库结构 相关命令:[Update-Database -Verbo

EntityFramework Migration 基本的命令语句

<!--以下在Nuget控制台中输入--> Enable-Migrations [-EnableAutomaticMigrations] 设置当前项目启用数据库迁移 --若启用自动数据库迁移,则不需要构建基架. Add-Migration "name" 构建基架 Update-Database [-Verbose] 进行数据库迁移

[EF] 如何在 Entity Framework 中以手动方式设定 Code First 的 Migration 作业

Entity Framework (简称 EF) 发展到现在, 版本已经进入 6.1.0, 距离我写的「在 VS2013 以 Code First 方式建立 EF 资料库」这篇文章已有半年的时间.如果你和我一样从那时候开始使用 EF Code First, 那么你对 EF 应该已经有了基本的了解.依我个人的使用经验, EF 虽然好用, 但是如果一直使用 AutomaticMigrations 的方式维护你的资料库, 也许会遇到一些麻烦.因为在正常作业环境下, 资料库的格式不可能永远不变; 当我们

Learning EntityFramework(3)

Code First New Database 创建表类型和里面的列 int类型默认为主键类型?? 有两种类型的属性,Navigation属性(定义了对象间的关系)和Scalar属性 使用virtual关键词的属性将被延迟加载,通常被使用在Navigation属性上. 添加EntityFramework的引用 添加以DbContext类为基类的Context类,这个Context类型可以被看作为一个数据库的会话.并在Context类中定义每个对象类型的DbSet<T>属性,用来查询对应类型的实

关于EntityFramework 7 开发学习

Entity Framework (又称ADO.NET Entity Framework) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,现已经包含在 Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中发表. ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将

使用ABP EntityFramework连接MySQL数据库

ASP.NET Boilerplate(简称ABP)是在.Net平台下一个很流行的DDD框架,该框架已经为我们提供了大量的函数,非常方便与搭建企业应用. 关于这个框架的介绍我就不多说,有兴趣的可以参见官方文档:http://www.aspnetboilerplate.com/Pages/Documents 使用ABP+EF+SQL Server是比较推荐的组合,但是既然我们使用的是EF,那么就应该是和数据库分离的,也就意味着我们应该可以采用其他的数据库,比如MySQL. ABP初始化的项目模板还

EntityFramework 7.0之初探【基于VS 2015】(十)

前言 本篇作为EF 7.0的开篇也是Entity Framework目前系列末篇,因为关于EF 7.0学习资料实在是太少,我都是参考老外的资料花费了不少时间去研究去尝试同时也失败多次,个人觉得那是值得的,至少为今后在VS2015上来运用EF 7.0打下了坚定的基础,但是有些很深入的层面还得待EF 7.0比较成熟时再来补充及学习,当然在前面EF 6.0或6.1中系列中如果我发现又有好的内容也会进行适当补充同时也和大家一起学习以及分享.文中若有不妥之处或错处请指出.[注意]下面所演示代码都是基于VS