停止EF检查模型

本文关键字:模型 检查 EF 停止 | 更新日期: 2023-09-27 17:58:10

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
  • 我已经删除了迁移目录
  • 我已经尝试过Enable-Migrations -EnableAutomaticMigrations -Force(这让我看到支持"ApplicationDbContext"上下文的模型在创建数据库后发生了更改错误(
  • 我尝试过update-database(同样的错误(
  • 我在ApplicationDbContext静态构造函数中尝试了Database.SetInitializer<ApplicationDbContext>(null)
  • 我试着把它改成Database.SetInitializer<ApplicationDbContext>(new NullDatabaseInitializer<ApplicationDbContext>())
  • 我试着把它改成Database.SetInitializer<ApplicationDbContext>(new CreateDatabaseIfNotExists<ApplicationDbContext>())

我无法忘记那条愚蠢的信息。我更改了数据库模式并更新了类以反映这些更改。我只是想让它发挥作用。我错过了什么?

停止EF检查模型

好吧,下面是我如何让它工作的,实际上很简单:

在我的ApplicationDbContext类中,我有一个这样的构造函数:

public ApplicationDbContext(string connectionStringName)
    : base(connectionStringName, DontCheckSchema)
{
}

和一个布尔常数CCD_ 9类似:

private const bool DontCheckSchema = true;

现在它不再对我吠叫了。瞧,它甚至起作用了。