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