gpt4 book ai didi

c# - Entity Framework 迁移未检测到任何更改

转载 作者:太空狗 更新时间:2023-10-29 21:17:50 24 4
gpt4 key购买 nike

我运行成功了 Entity framework 6.0.0-alpha3直到今天。今天决定更新到Entity framework 6.0.0-rc1 , 和指定的 here为了运行我的迁移,我需要删除 ef alpha1-alpha3 之前所做的所有迁移并重新制作它们。

因为我所有的迁移都是由 alpha3 完成的,我决定删除所有迁移(包括 _MigrationHistory 表),然后重新启用它。

我使用 add-migration Initial -IgnoreChanges 创建了初始迁移(它有空的 Up()Down() 方法),然后我执行了 update-database ,我想,一切都很好。好吧,它不是。当我向我的模型添加新类时,add-migration first使用空 Up() 创建迁移和 Down()方法。

此外,以前,当我想访问尚未注册迁移的对象时,我收到一条错误消息,提示我需要更新我的迁移。现在,当我尝试访问新对象时,它只是说 "Invalid object name 'dbo.Notifications'." .

我现在该怎么办?

最佳答案

EF 使用数据库模型的快照(与迁移一起保存)来确定数据库模型的当前版本与上次迁移之间的变化。

add-migration Initial -IgnoreChanges 命令使用数据库模型的快照创建迁移,但它会忽略之前数据库快照(即空数据库)的任何更改,因为您告诉我们这样做。

add-migration First 命令查看之前的迁移(即初始迁移)并将当前数据库模型快照与 Initial 迁移的快照进行比较。显然这些快照是相同的,所以 Up()Down() 方法是空的。

我认为您的问题的解决方案是在初始迁移中生成所有更改

添加迁移初始

关于c# - Entity Framework 迁移未检测到任何更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18834263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com