【发布时间】:2015-01-04 09:38:23
【问题描述】:
我有一个包含两个项目的解决方案,主要有用户类(MVC5 的默认值),另一个我有我的业务类。
对我的代码进行一些更改后,我得到了错误:
支持“EfDbContext”上下文的模型在创建数据库后发生了变化。考虑使用 Code First 迁移来更新数据库 (http://go.microsoft.com/fwlink/?LinkId=238269)。
我已经执行了添加新迁移和更新数据库的命令。错误仍然存在。
在这之后我尝试了很多方法来解决这个问题,包括这些解决方案:
https://stackoverflow.com/a/22451879/2394172
和
https://stackoverflow.com/a/11679386/2394172
但我仍然有这个错误:
PS:我已经删除了我的数据库并重新创建它,但问题仍然存在。
我不明白为什么这个错误仍然发生。当我执行命令Add-Migration 时,创建的文件的功能为空白。
更新(2014 年 12 月 11 日):
我制作了一个视频,展示了我正在尝试的所有过程,证明我使用的是我通过迁移更新的同一个数据库。
顺便说一下,我注意到我可以在数据库中插入数据,如视频所示,但插入后出现错误。
【问题讨论】:
-
您是否尝试过使用空白文件进行迁移?有时这样做只会让 EF 重新开始工作。
-
我肯定已经这样做了。
-
您是从包管理器还是使用流体 api
OnModelCreating配置迁移? -
@DaveAlperovich 我使用了“OnModelCreating”来删除自动复数。在 nugget 包管理器中,我只运行命令 Enable-Migrations。
-
从 Nuget 设置迁移是推荐的方式,但我发现它模棱两可且有问题。尝试在模型基类中设置迁移:
public ResumeContext() : base("name=ResumeContext") { this.Configuration.LazyLoadingEnabled = false; this.Configuration.ProxyCreationEnabled = false; this.Configuration.AutoDetectChangesEnabled = true; Database.SetInitializer( new MigrateDatabaseToLatestVersion<ResumeContext, ResumeMigrationsConfiguration>()); }
标签: entity-framework asp.net-mvc-5 entity-framework-migrations