c# - 阻止 EF 检查模型

标签 c# entity-framework ef-code-first migration entity-framework-6

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/

相关文章:

c# - ICollectionView获取特定对象

c# - 没有回发的级联下拉列表

c# - Entity Framework : Table with Composite Key issue : Violation of PRIMARY KEY constraint. 无法在对象中插入重复键

.NET/Entity Framework Core/SQL Server 过程返回重复值

c# - SQL CE 4 和 EF 6 代码优先不支持默认值

entity-framework - "Error getting value from ' MyEntity ' on ' System.Data.Entity.DynamicProxies...”

c# - 反序列化 JSON 时需要忽略 NULL 值

c# - 带有 Interop.Word 的斜体内联字

entity-framework - 匿名类型不能有多个同名属性

c# - Hierarchyid 数据类型和 Code First