EF Code-First(Oracle)通过Migration来更新数据库的表明的字段。EF Code-First(Oracle)通过Migration来更新数据库的申底字段。

by admin on 2018年10月5日

至于Oracle中采取Entity Framework 6.x
Code-First方式开发,请参见博客(菩提下之杨过)https://www.cnblogs.com/yjmyzz/p/how-to-use-code-first-in-oracle-with-entity-framework-6.html的现实介绍,里面关于用Entity
Framework进行Code-First开发与开创Database
Migration有详细的教授与合法参考的连天。这里就非赘述了。

关于Oracle中使Entity Framework 6.x
Code-First方式开发,请参考博客(菩提下的杨过)https://www.cnblogs.com/yjmyzz/p/how-to-use-code-first-in-oracle-with-entity-framework-6.html的实际介绍,里面关于下Entity
Framework进行Code-First开发及开创Database
Migration有详实的授课与合法参考的连天。这里就是非赘述了。

下EntityframeWork的CodeFirst来形容序的时段,会时常遇到需要修改实体内容(即表中之字段的始末),这个时刻即便用为此到Database
Migration,但是于实质上过程被难免会遇上有题目,这里记录几个自遇到的题材,以及缓解之方。

使EntityframeWork的CodeFirst来形容序的时节,会时遇到需要修改实体内容(即表中之字段的始末),这个时刻即便待为此到Database
Migration,但是于实质上过程被难免会遇上有题目,这里记录几个自遇见的问题,以及解决的点子。

1、关于创建与动Migration,本文中接二连三参考的稿子都发出了,这里总结一下几乎只以命令。

1、关于创建及利用Migration,本文中连参考的文章已有矣,这里总结一下几只以命令。

工具(Tools)–>程序包管理器(Package
Manager)–>程序包管理器控制台(Package Manager
Console),1)Enable-Migrations;2)Add-Migration
MigrationName;3)Update-Migration(这里仿佛之前写错了,应该是:Update-Database)。

工具(Tools)–>程序包管理器(Package
Manager)–>程序包管理器控制台(Package Manager
Console),1)Enable-Migrations;2)Add-Migration
MigrationName;3)Update-Migration(这里仿佛之前写错了,应该是:Update-Database)。

2、Update-Migration(这里仿佛之前写错了,应该是:Update-Database)出错。

2、Update-Migration(这里仿佛之前写错了,应该是:Update-Database)出错。

Update-Migration(这里仿佛之前写错了,应该是:Update-Database)有时候会拧,出错的由来出成百上千,原因或许是安排问题,可能是数据库原因,以及其它原因,这个时要还要寻找不顶解决的不二法门,这个时段重新转实体对应之表或者实体性质对应的申底字段,是迫于的一律栽下策。比如自己在实际上开发中碰到将无增长[Attribute]的string类型属性添加[MaxLength]Attribute之后,生成Migration,怎么还通不了Update-Migration。无奈只能先去旧的特性,再添加上去。就可以了。

Update-Migration(这里仿佛之前写错了,应该是:Update-Database)有时候会错,出错的原由产生成千上万,原因想必是布置问题,可能是数据库原因,以及任何因,这个时节要又摸不交解决的法门,这个时还转实体对应的表或者实体性质对应的申底字段,是可望而不可及的均等栽下策。比如自己当其实开支中遇将尚未长[Attribute]的string类型属性添加[MaxLength]Attribute之后,生成Migration,怎么还衔接不了Update-Migration。无奈只能先去旧的性质,再补充加上去。就足以了。

3、Add-Migration出错。

3、Add-Migration出错。

Add-Migration出错一般容易报错的是“Unable to generate an explicit
migration because the following explicit migrations are
pending:[MigrationName].Apply the pending explicit migrations before
attenpting to generate a new explicit
migration”。这个荒唐是因前面有一个新建(New Add-Migration
Command)的Migration没有受实践(Update-Migration),处于听命(pending)的状态,只要先运行命令将这migration执行了即排除pending状态了。一般都是由于update-migration执行不了才见面招致后面的add-migration无法持续。这里可以事先拿前的Migration里面的“public
override void
up()”方法中的代码注释了在实行Update-Migration命令,这样非会见针对数据库有实际操作,也驱除了pending状态。然后便好互补加新的Migration了。

Add-Migration出错一般容易报错的凡“Unable to generate an explicit
migration because the following explicit migrations are
pending:[MigrationName].Apply the pending explicit migrations before
attenpting to generate a new explicit
migration”。这个似是而非是以前面来一个新建(New Add-Migration
Command)的Migration没有于实施(Update-Migration),处于听命(pending)的状态,只要先运行命令将这个migration执行了就算打消pending状态了。一般都是由update-migration执行不了才会造成后面的add-migration无法持续。这里可以预先以事先的Migration里面的“public
override void
up()”方法中的代码注释了当履Update-Migration命令,这样非会见对数据库来实际操作,也解除了pending状态。然后就是可以上加新的Migration了。

叠加(修改时:2017年12月19日09:56)

外加(修改时间:2017年12月19日09:56)

应用AutomaticMigrationsEnabled =
true(将Migrations文件夹下的Configurations.cs里面的安改下就好了)
 这样后更新数据库的当儿只待输入Update-Database就可以了,不用Add-Migration了。

用AutomaticMigrationsEnabled =
true(将Migrations文件夹下之Configurations.cs里面的装改下就可以了)
 这样之后更新数据库的时节就待输入Update-Database就得了,不用Add-Migration了。

 

 

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图