15

当我在上下文中进行选择时,我收到了一个奇怪的 EF4“Entity Framework v4”错误:

指定的架构无效。错误:未加载关系“AnalyzerConfigurationModel.FK_AnalyzerMetadataParameters_AnalyzerMetadata”,因为“AnalyzerConfigurationModel.AnalyzerMetadataParameter”类型不可用。

生成错误的查询是:

Using context As New AnalyzerConfigurationEntities
      Dim EFAnalyzerConfiguration = (From P In context.AnalyzerConfigurations
                                     Where P.Name = analyzerConfigurationName).FirstOrDefault
End Using

架构如下所示。 替代文字

我已经多次检查了连接字符串,但不是这样。一切看起来都很好。我不确定从此模式生成的 XML 是否关闭。但也看了那里,并没有看到任何与其他属性不同或不同的东西。有没有人遇到过这个?

4

4 回答 4

17

我发现如果我在解决方案资源管理器(VS 2012)中展开 EDMX 文件并右键单击每个.tt文件并选择运行自定义工具也可以解决问题。这可能比 de 更容易

于 2013-02-12T04:40:32.443 回答
5

还要确保您引用的项目已安装 EntityFramework 否则依赖代码将收到此错误。

https://www.nuget.org/packages/EntityFramework

于 2016-06-22T20:19:28.340 回答
1

让我解释一下:

问题是因为系统没有发现数据库中的列、.edmx 文件中的实体和模型类的一致性以及在控制器类中的使用。

因此,请按照以下步骤解决此问题:

  1. 转到数据库,检查所有列名和属性。
  2. 使用 .edmx 文件中的类图确认它们。右键单击出现错误的类,然后选择该类的更新选项。在对话框中选择刷新选项卡(如果没有添加新列。如果添加了新列,您可以选择添加选项卡。)并选择相关对象。通常它们是表格。所以选择它们并完成。
  3. 接下来检查模型类和控制器类中的名称。

这应该是解决方案。如果没有,请告诉我。

于 2013-08-14T13:25:18.043 回答
0

您使用的是 SelfTracking Entity T4 模板吗?我遇到了这个问题,发现在实体设计器中更改实体模型后,T4 模板没有重新生成我的实体。尝试右键单击 T4 模板并单击“运行自定义工具”,看看是否有帮助。

于 2010-07-30T23:10:38.170 回答