- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在使用 Entity Framework Code First Migrations 时,我和我的团队在尝试使我们的开发(以及很快客户的生产)数据库与我们的模型同步时遇到了很多问题。
由于错误的 DropForeignKey() 方法调用,当我不得不手动编辑迁移代码时,问题似乎开始发生。 (我的项目使用 MySQL 5.5、MySQL Connector 6.6.2、EF 4.3。)有问题的命令:
DropForeignKey("Recebimento", "ComponenteFabricante_Id", "CompFab");
DropForeignKey("Recebimento", "FK_RecebimentoMaterial_CompFab_ComponenteFabricante_Id");
Update-Databse
,
即使我知道我已经拥有反射(reflect)当前模型映射的所有迁移代码 ,将显示以下消息:“无法更新数据库以匹配当前模型,因为存在挂起的更改并且禁用了自动迁移。请将挂起的模型更改写入基于代码的迁移或启用自动迁移。将 DbMigrationsConfiguration.AutomaticMigrationsEnabled 设置为true 启用自动迁移。
AutomaticMigrationEnabled
至
true
,所以我运行
Add-Migration Test
查看创建的内容。创建的文件包含已(通过先前的迁移)应用于数据库的命令。如果我尝试运行最后一次迁移,
Update-Database
失败(类似于“列已经存在”或“表已经存在”,这是正确的错误消息,因为迁移有重复的代码)。
__migrationhistory
的值有关保存在模型列(迁移应用的模型的二进制表示) - 由于进行了手动更正,因此该值可能不是正确的值。
最佳答案
您是否尝试过使用 ForeignKey 属性在模型中手动指定外键名称?
[ForeignKey("FK_RecebimentoMaterial_CompFab_ComponenteFabricante_Id")]
YourNavigationProperty
关于entity-framework - 手动更改迁移文件并保持兼容的 __migrationhistory 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13366572/
自从 Entity Framework Code First 可用以来,我一直在使用以下方法: public virtual void CreateDatabase() { var dbCon
我在代码优先迁移方面遇到问题。当我部署站点时,数据库会更新,但新的迁移不会插入“__MigrationHistory”表中。因此,每次发布后,我都需要将记录从 DEV 数据库手动插入到“__Migra
根据 Customizing the Migrations History Table ,我应该可以添加一列,但是我找不到任何关于如何实际添加新列的示例。 我最困惑的是将实际属性放在哪里以及如何将其配
当我尝试在远程数据库上执行 SQLQuery(由 Update-Database -Verbose -f -Script 在 Visual Studio 本地生成)时,我看到返回了以下错误通过 SQL
我不小心删除了 __MigrationHistory 中的记录。尝试为模型更改 Add-Migration 时收到以下错误消息。 Unable to generate an explicit migr
在使用 Entity Framework Code First Migrations 时,我和我的团队在尝试使我们的开发(以及很快客户的生产)数据库与我们的模型同步时遇到了很多问题。 由于错误的 Dr
我想知道如果从工作数据库中删除 __MigrationHistory 表会发生什么? 最佳答案 根据我的问题,我决定删除此表,“没有发生任何事情”应用程序启动并为每个关于Entity已经存在的Enti
我们最近将数据库移至新服务器。但是,当时我们不允许 Code First 迁移来创建数据库。我们使用另一个工具来迁移表和数据。 __MigrationHistory 表在此期间未移动。 __Migra
我正在尝试部署一个使用 EF5 codefist 和迁移构建的 MVC4 应用程序。 我希望应用程序在将来使用新迁移部署应用程序的新版本时更新数据库,因此在 Global.asax 中我这样做: Da
我正在使用 Entity Framework 5 并执行一个简单的查询以从表中获取一些用户。 SQL 数据库已经创建,所以我使用我的实体作为映射我所拥有的东西的一种方式。 当我运行我的查询时,我检测到
我遇到了 dbo.__MigrationHistory 表未使用新数据库迁移进行更新的问题,但实际数据库本身已使用相关更改进行了正确更新。这意味着该网站不会加载,因为它发现了上下文中的更改 - 我必须
目前我有一个使用 Entity Framework 6.1.3 和 Sql Server 2012 的应用程序。我对我的数据库使用代码优先迁移方法。在 Sql Server DB 中,我创建了以架构名
我正在使用 Code First Migrations( Entity Framework 4.3),我想获得当前模型的压缩二进制版本,以便我可以手动将其与 __MigrationHistory 中存
尝试使用以下代码创建数据库时遇到错误。 请注意,如果未传入连接字符串,则不会发生此问题。 当我在 IDE 中运行程序时也会出现问题。如果我运行程序 .exe 或在 IDE 中运行单元测试,则不会发生这
我使用 Entity Framework 4.3 Code First 和这样的自定义数据库初始值设定项: public class MyContext : DbContext { publi
我首先使用 EF 6 alpha 3 代码。 当我尝试在运行 Update-Database 命令的 SQL Azure 上创建数据库时,出现以下错误: 此版本的 SQL Server 不支持没有聚集
我是一名优秀的程序员,十分优秀!