Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework EF 5.0在反向工程数据库上的迁移。无法更新模型更改,因为表已存在_Entity Framework_Entity Framework 5_Entity Framework Migrations - Fatal编程技术网

Entity framework EF 5.0在反向工程数据库上的迁移。无法更新模型更改,因为表已存在

Entity framework EF 5.0在反向工程数据库上的迁移。无法更新模型更改,因为表已存在,entity-framework,entity-framework-5,entity-framework-migrations,Entity Framework,Entity Framework 5,Entity Framework Migrations,我正在使用EF power tools for EF5.0的Beta 3对现有数据库进行反向工程 当我首先从项目上下文菜单中选择反向工程代码时,我得到了所有模型和DBContexts+映射。一切看起来都很好 我在反向工程过程完成后立即成功地启用了迁移 但是,我想向其中一个模型添加一个新属性。添加新属性后 我运行PM>添加迁移AddMyPropertyToMyTable 创建一个迁移文件 如果我尝试PM>更新数据库 我得到一个错误,告诉我这些表已经存在 我在这里学习教程:> 为什么我会犯这个错误?

我正在使用EF power tools for EF5.0的Beta 3对现有数据库进行反向工程

当我首先从项目上下文菜单中选择反向工程代码时,我得到了所有模型和DBContexts+映射。一切看起来都很好

我在反向工程过程完成后立即成功地启用了迁移

但是,我想向其中一个模型添加一个新属性。添加新属性后

我运行PM>添加迁移AddMyPropertyToMyTable

创建一个迁移文件

如果我尝试PM>更新数据库

我得到一个错误,告诉我这些表已经存在

我在这里学习教程:>

为什么我会犯这个错误?当然这张桌子是存在的,我只是对它进行了反向工程

我应该在逆向工程后删除数据库吗?或者,对于反向工程数据库,我是否必须对实际数据库进行更改,然后重新对其进行工程设计,以便在我的项目中获得所需的更改?那么反向工程首先有什么意义


本教程中是否缺少一些内容,即在模型更改后使数据库可更新所需的额外步骤?

当您使用现有数据库启用迁移时,EF没有添加u MigrationHistory表或初始迁移DbMigration文件

您可以在package manager控制台中使用以下命令添加初始迁移:

Add-Migration Initial -IgnoreChanges
这将是一个空的初始迁移。然后,要强制EF创建_MigrationHistory表,可以使用:

update-database
然后应在系统表下创建uu MigrationHistory表

现在,通过在migrations文件夹下的Configuration.cs文件中配置,您应该能够进行模型更改、创建新迁移文件或使用自动迁移

您可以使用update database手动运行这些迁移更改,或者在应用程序启动时使用MigrateDatabaseToLatestVersion初始值设定项将数据库自动迁移到最新的迁移

例如,您可以在app.config/web.config中进行设置,这样就不会在生产环境中进行设置