Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF检测到迁移错误,但数据库处于实际状态_C#_Entity Framework_Entity Framework 6 - Fatal编程技术网

C# EF检测到迁移错误,但数据库处于实际状态

C# EF检测到迁移错误,但数据库处于实际状态,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我有两个项目。第一个项目是通过实体框架调用数据库的API。第二个项目是使用相同类的桌面应用程序。但是,当我尝试在桌面应用程序中使用EF选择数据时,我得到了以下异常: An exception of type 'System.InvalidOperationException' occurred in EntityFramework.dll but was not handled in user code Additional information: The model backing th

我有两个项目。第一个项目是通过实体框架调用数据库的API。第二个项目是使用相同类的桌面应用程序。但是,当我尝试在桌面应用程序中使用
EF
选择数据时,我得到了以下异常:

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

Additional information: The model backing the '<modelName>
' context has changed since the database was created. 
Consider using Code First Migrations to update the database    
(http://go.microsoft.com/fwlink/?LinkId=238269).
类型为“System.InvalidOperationException”的异常
在EntityFramework.dll中发生,但未在用户代码中处理
附加信息:支持以下内容的模型:
'自创建数据库以来,上下文已更改。
考虑使用代码第一迁移来更新数据库
(http://go.microsoft.com/fwlink/?LinkId=238269).
但API项目运行良好。我使用codefirst数据库迁移。 我已经清理了解决方案,确保所有迁移都应用到了正确状态的适当数据库和实体

我有实体框架6.0.0.0

您有以下选项:

  • 首先通过添加
    Database.SetInitializer(null)忽略错误
    但是使用上下文定义创建桌面应用程序的启动代码
  • 检查数据库以确定错误的原因;迁移使用一个名为
    \uu MigrationHistory
    的表根据代码检查数据库的状态。最后一行应该与上次迁移相同。如果它们不同,那么您需要检查您的迁移
  • 如果您没有任何需要保留的数据,请还原所有迁移并运行
    添加迁移
    更新数据库

  • 您是否尝试将DataContext初始值设定项设置为null?在运行应用程序之前,您似乎正在迁移数据库