c# - 为什么无法检查模型兼容性?

标签 c# asp.net entity-framework

我不得不从前大学毕业后进一步工作。所以我在没有数据库的情况下运行 asp.net 解决方案。它创建了一个数据库。我认为这是代码优先或代码优先迁移。

然后我在 de UI 中尝试了一些测试并收到此消息:

An exception of type 'System.NotSupportedException' occurred in EntityFramework.dll but was not handled in user code

Additional information: Model compatibility cannot be checked because the database does not contain model metadata. Model compatibility can only be checked for databases created using Code First or Code First Migrations.

这是消息来源的代码。

public class TemInitializer : System.Data.Entity.DropCreateDatabaseIfModelChanges<ApplicationDbContext>
{
    public override void InitializeDatabase(ApplicationDbContext context)
        {
            base.InitializeDatabase(context);
        }
}

谁能告诉我如何解决这个问题或我需要看哪里?

最佳答案

如果数据库架构不再与代码中的类匹配,DropCreateDatabaseIfModelChanges 初始化程序将删除并重新创建数据库。它通过查看您的类和数据库中名为 _MigrationHistory 的表来确定“模型是否更改”。如果没有这样的表,则抛出问题中的异常。

所以要解决这个问题,你可以:

关于c# - 为什么无法检查模型兼容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29349443/

相关文章:

c# - 我想通过在 c# .net 中的文本框中搜索相似值来对特定单元格值求和

c# - 从代码隐藏访问 div 标签

asp.net-mvc - 实体创建抛出 "No parameterless constructor defined for this object"

c# - 多个 DbSet<> 用于同一实体但具有不同的过滤器

c# - 如何从数据库中获取最接近的日期时间?

c# - 离开 While 循环?

C# 将字符串变量中的转义字符转换为用于 SQL 查询的字符串文字

c# - 无法在更新面板 C# 中显示 Tiny MCE Editor

javascript - 如何更正这个确认框?

c# - 从母版页的下拉菜单中获取值(value)