【发布时间】:2013-10-27 14:46:33
【问题描述】:
我将项目从 Entity Framework 5 更新到 6,当我开始我的项目时,会在 db 中创建一个新表:dbo.__MigrationHistory。我首先使用代码,我猜这是为了跟踪历史,对吧?
这不是在 EF 5 中创建的。
如何防止创建此表?
【问题讨论】:
标签: asp.net asp.net-mvc entity-framework entity-framework-5
我将项目从 Entity Framework 5 更新到 6,当我开始我的项目时,会在 db 中创建一个新表:dbo.__MigrationHistory。我首先使用代码,我猜这是为了跟踪历史,对吧?
这不是在 EF 5 中创建的。
如何防止创建此表?
【问题讨论】:
标签: asp.net asp.net-mvc entity-framework entity-framework-5
当针对数据库运行自动更新时,他们应该应用他们可以找到的所有更改。数据库上有一个名为迁移历史的系统表可以帮助解决这个问题。 您可以操作迁移表,但我不确定您是否可以禁用创建它。 看这个链接http://entityframework.codeplex.com/wikipage?title=Migrations%20History%20Table%20Customization
【讨论】:
实体框架规范之一是幂等迁移脚本
很明显包管理器已经启用-迁移 所以你必须使用
禁用它 AutomaticMigrationsEnabled = false;
然后设置你的初始化器
Database.SetInitializer<YourContextType>(new CreateDatabaseIfNotExists());
【讨论】:
在 Entity Framework 5 中,该表是系统表,如果应用程序 使用 Microsoft Sql Server 数据库。这在实体中发生了变化 框架 6
Code First 需要 Migration History 表,因此您无法删除它,但您可以自定义它
【讨论】: