The model backing the 'ApplicationDbContext' context has changed since the database was created. This could have happened because the model used by ASP.NET Identity Framework has changed or the model being used in your application has changed. To resolve this issue, you need to update your database.
...亚达亚达亚达...
SO 上有很多关于此的问题,但普遍接受的解决方案对我不起作用。坦率地说,我受够了迁移,我更希望 EF 相信我,表和列在那里供它使用。
- 我已经删除了
__Migrations
表。 - 我已经删除了 Migrations 目录。
- 我试过了
Enable-Migrations -EnableAutomaticMigrations -Force
(这让我支持“ApplicationDbContext”上下文的模型自数据库创建以来已更改错误) - 我试过了
update-database
(同样的错误) - 我试过了
Database.SetInitializer<ApplicationDbContext>(null)
在我的ApplicationDbContext
静态构造函数 - 我试过将其更改为
Database.SetInitializer<ApplicationDbContext>(new NullDatabaseInitializer<ApplicationDbContext>())
- 我试过将其更改为
Database.SetInitializer<ApplicationDbContext>(new CreateDatabaseIfNotExists<ApplicationDbContext>())
我无法摆脱那条愚蠢的信息。我更改了我的数据库架构并更新了我的类以反射(reflect)更改。我只是想让这个工作。我错过了什么?
最佳答案
好的,下面是我如何让它工作的,它实际上非常简单:
在我的 ApplicationDbContext
类中,我有一个像这样的构造函数:
public ApplicationDbContext(string connectionStringName)
: base(connectionStringName, DontCheckSchema)
{
}
...和一个 bool 常量 DontCheckSchema
如下所示:
private const bool DontCheckSchema = true;
...现在它不再对我吠叫了。瞧,它甚至可以工作。
关于c# - 阻止 EF 检查模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23061304/