实体框架错误“实体类型未映射”

本文关键字:实体 映射 框架 错误 类型 | 更新日期: 2023-09-27 17:52:40

我们在项目中使用实体框架,我在模型中构建了一个实体。然后有一个使用存储过程的函数导入。函数import创建的方法应该返回我创建的自定义实体的集合。

问题是,我得到一个错误,当我说"实体类型'someentity'没有映射。

这是什么意思?它是否因为实体没有底层数据存储而感到不安?它不需要一个,import函数返回这个实体的实例,我不需要更新、编辑或插入这个类型的实体。

函数导入工作得很好,并按预期返回我的实体的集合,但是这个错误很烦人。尽管错误列表将其列为编译错误,但它实际上并不能阻止解决方案的编译。

更新

如果我在XML编辑器中打开EDMX并双击错误列表中的错误它会以红色突出显示这段XML:

   <EntityContainerMapping StorageEntityContainer="KlasEntitiesStoreContainer" CdmEntityContainer="KlasEntities">
      <EntitySetMapping Name="VendorBriefs"><EntityTypeMapping TypeName="KlasEntityDataModel.VendorBrief"><MappingFragment StoreEntitySet="ev_VendorBriefs">
        <ScalarProperty Name="VendorBriefID" ColumnName="VendorBriefID" />
        <ScalarProperty Name="Title" ColumnName="Title" />
        <ScalarProperty Name="Link" ColumnName="Link" />
        <ScalarProperty Name="LinkText" ColumnName="LinkText" />
        <ScalarProperty Name="BriefPath" ColumnName="BriefPath" />
        <ScalarProperty Name="Description" ColumnName="Description" />
        <ScalarProperty Name="IsActive" ColumnName="IsActive" />
        <ScalarProperty Name="DisplayOrder" ColumnName="DisplayOrder" />
      </MappingFragment></EntityTypeMapping></EntitySetMapping>
      <FunctionImportMapping FunctionImportName="SearchForVendorProductByKlasID" FunctionName="KlasEntities.Store.ev_ds_Products_SearchByKLASID" />
    </EntityContainerMapping>

实体框架错误“实体类型未映射”

每个实体必须映射到QueryView或数据库表/定义查询。你不能创建一个没有映射的实体。如果你想定义函数导入的结果,它没有映射到你的模型中,你必须将你的VendorBrief定义为复杂类型。

    打开数据模型(edmx文件)在数据模型中右键单击并选择Model Browser
  1. 在模型浏览器窗口中进入Function Imports并删除相应的项。

尝试打开您的实体文件关系图。然后使用DEL删除所有表。然后右键单击图内并选择Update Model from Database。

Visual Studio在这方面有点问题

您是否尝试使用复杂类型而不是实体并映射到该实体来表示它?

http://msdn.microsoft.com/en-us/library/bb738472.aspx

我也有这个问题,但是当我在XML编辑器中打开edmx时,错误就消失了。我尝试了所有删除表的方法,然后更新edmx.

我遇到的另一个奇怪的事情是,错误是指两个表之间的关系,但当我双击错误信息时,它突出显示了另一个表,而不是它所指的两个表