System.InvalidOperationException:无法找到EntityType Foo.Bar的映射和元数​​据信息

时间:2013-04-15 15:43:30

标签: asp.net-mvc entity-framework asp.net-mvc-4 entity-framework-4 entity-framework-5

我正在努力解决这个问题。

我有一个非常大的MVC项目,使用4个Entity Framework模型。模型被编译为单独的程序集/类库类型项目。

直到几天前,一切都运转良好。我休假了2天,有人调整了模型,他被称为严重病人。

当我今天回来时,我注意到该应用程序无法启动。它会显示死亡的黄色屏幕,并显示以下异常消息:

System.InvalidOperationException: Mapping and metadata information could 
not be found for EntityType 'MyNamespace.MyClassName'

我查看了一些文章(http://blogs.infosupport.com/mapping-and-metadata-information-could-not-be-found-for-entitytype-schema-klant/http://matheusandcode.wordpress.com/2011/11/13/mapping-and-metadata-information-could-not-be-found-for-entitytype/)和问题&从这里得到答案,他们都建议我交叉检查POCO和模型生成实体之间的拼写错误或缺失属性。

我有大约400多个实体。但是,我检查了实体在创建实体集时抛出异常,并且绝对没有拼写错配。我花了5个多小时检查这个,我感到很累和沮丧。

是否有任何其他线索可能导致此错误的原因?

我已经使用Table Mappings窗口,模型浏览器甚至SQL Server Management Studio清理,重建,检查拼写错误,缺少属性,概念和存储模型之间的交叉校验奇偶校验,我已经打印了 - 在纸板上标记了每一个与POCO中的财产有关的财产,我已经冲洗并重复了几次,但错误不会发生。

我使用的是Visual Studio 2010,EF 5,MVC 4和Entity Framework POCO Generator软件包。

1 个答案:

答案 0 :(得分:2)

为了疲惫的徒步旅行者的利益。

在我们的案例中,我们发现错误原因如下:

开发人员添加了一个不使用EF POCO生成器的额外EDMX。事实上,新模型也没有表格。它只使用了一个存储过程。

他删除了它,错误消失了。我们可能会使用vanilla ADO.NET调用存储过程,而不是为它添加新的Entity Framework模型。