EF数据迁移命令

在包管理器控制台中输入命令“enable-migrations”,然后按Enter键!Visual Studio将生成一个名为“Configurations.cs”的文件; 你可以安全地忽略它,但你需要保持它。

EF迁移设置的最后一步是在包管理器控制台中输入命令“add-migration InitialMigration -IgnoreChanges”。“InitialMigration”(高亮的黄色)是您想要给当前迁移的名称,“IgnoreChanges”句柄是告诉EF Migrations您想要忽略当前数据库:这意味着您希望EF忽略所有现有表,以便不会为现有表生成脚本。

因此,您将看到Visual Studio生成的对应于您刚才添加的迁移(InitialMigration)的新.cs文件。如果你查看文件,它本质上是一个空白文件,由于我们在上一步使用了-IgnoreChanges句柄。

要实际将此迁移保存到数据库,请在包管理器控制台中运行命令“update-database”。您的数据库现在可以进行实际的EF迁移任务!

添加迁移和更新数据库

现在,假设我们想链接博客和产品,其中一个产品可以有多个BlogPost谈论产品本身。我们需要一个一对多的产品和BlogPost之间的关系。

实质上,我们需要的是BlogPost中的新ProductId字段,以及Product中的ICollection <BlogPost>属性。下面的截图总结了我们应该添加到Product.cs和BlogPost.cs(在Nop.Core项目中)的更新。

现在,您已在域模型上准备好属性,您还需要设置配置并告知Entity Framework如何格式化参数,例如关系,以及字段是否是可选的/必需的。在Nop.Data中打开BlogPostMap.cs,输入以下行,我们告诉EF 产品(或ProductId)是一个可选属性(意味着它可以有NULL作为值),一个产品可以有很多BlogPost,使用ProductId作为BlogPost和Product之间的外键。

我们现在有足够的信息来指示Entity Framework生成迁移,因此再次打开Package Manager Console,并输入命令“add-migration AddProductToBlogPost”。

此命令会使Visual Studio生成类似于以下内容的.cs文件:

要实际生成SQL脚本并更新数据库,请在Package Manager控制台中再次运行命令“update-database”。现在,要验证数据库是否正确更新,请在数据库中打开BlogPost表,并检查新字段,外键等是否确实已添加。

时间: 2024-10-13 15:55:39

EF数据迁移命令的相关文章

EF 数据迁移

问 题 支持“AppContext”上下文的模型已在数据库创建后发生更改.请考虑使用 Code First 迁移更新数据库 原因以及解决办法 在用EF CodeFirst模式开发当中难免会对类进行修改,修改后再次运行就会出现异常,提示上下文的模型已在数据库创建后发生改变. 如果是项目初期开发倒是好办,可以删掉数据库重新建立,但是如果项目已经运行了,我想你不会想初期那样做吧,会照成数据丢失的.这个时候就需要使用EF的数据迁移功能了,下面教你如何使用数据迁移. 打开VS,工具>库程序包管理器>程序

EF数据迁移,未将对象引用设置到对象实例

现象: 执行Enable-Migrations -force时就报"未将对象引用设置到对象实例"的异常: DbProviderServicesExtensions.GetProviderManifestTokenChecked 原因: 1.项目启动项的App.config或web.config里面没有配置 entityFramework节点或connectionStrings节点,EF在数据迁移时找不到数据库连接串信息 2.项目启动项配置错误,应该选择有entityFramework节

EntityFramework Migration 数据迁移命令

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

EF数据迁移

开启codefirst迁移命令: Enable-Migrations -ContextTypeName BlogEntities BlogEntities(上下文,继承DbContext的那个类) 更新数据库命令: Update-Database -Verbose 新增变更类文件命令: Add-Migration AddBolg AddBolg(生成的文件名) 自动数据迁移: 将Configuration的AutomaticMigrationsEnabled设置为true 当设置自动数据迁移之后

EF 数据迁移问题总结

在项目中使用Entity Framework的Code First模式,进行数据迁移时,Migration文件夹中存放的是每一次Entity的修改如何同步到数据的操作方法,每个文件中都只有Up和Down这两个方法.例如第一次数据迁移时,会创建数据表,在程序包管理控制台中输入命令:add-migration migrationname,会生成一个migrationname.cs的文件,在对应的Migration类文件的代码如下: 1 public override void Up() 2 { 3

EF数据迁移(当模型改变时更新数据库)

https://msdn.microsoft.com/zh-CN/data/jj591621 Enable-Migrations Add-Migration 名称 Update-Database –Verbose

django数据迁移命令

D:\pythonspacen\djano\guest>python manage.py makemigrations sign Migrations for 'sign': sign\migrations\0001_initial.py - Create model Event - Create model Guest - Alter unique_together for guest (1 constraint(s)) D:\pythonspacen\djano\guest>python

Entity Framework7 入门之全功能.NET版本下使用EF7(含源码)另附数据迁移常见错误处理

Entity Framework7 入门之全功能.NET(Console, WinForms, WPF等)使用EF7 昨天,我们介绍了EF的新特性和开发计划,如果你还不了解,请移步 Entity Framework7 有哪些不同?现在开发到什么程度了? .今天,我们开学习全功能.NET(Full .NET)下使用EF7.官方已经写了关于最新的 Pre-Release版本EF7.0.0-beta7的入门教程,很详细,我就没有必要自己再重复造轮子了,只因为是英文的,为了方便不少懒人(不是看不懂英文,

如何在PHP项目中使用phinx进行数据迁移和建表

建表 phinx\bin\phinx.bat migrate -e production 建设 phinx.yml文件 paths: migrations: %%PHINX_CONFIG_DIR%%\database\migrations seeds: %%PHINX_CONFIG_DIR%%\database\seeds environments: default_migration_table: phinxlog default_database: development productio