我有以下架构(首先是数据库):
我尝试像这样(带点)在EntityDataSource的Include属性中添加相关表:
<asp:EntityDataSource ID="ServersEDS" runat="server"
ConnectionString="name=InventoryEntities"
DefaultContainerName="InventoryEntities"
EnableFlattening="False" EntitySetName="Servers"
Include="Domains, Tag_entites, Tag_Services, Tag_Services.Contact_Service">
</asp:EntityDataSource>
但是我有以下错误(法语):
在化学上包含适当的证明。 L'EntityType'InventoryModel.Contact_Service'声明了导航对象“服务器”的专有名称。
怎么了?
感谢您的帮助。
答案 0 :(得分:0)
上面提供的实体图清楚地表明Contact_Service
实体没有名为Servers
的导航属性,如异常消息所示:
EntityType'InventoryModel.Contact_Service'未声明 导航属性,名称为“服务器”。
由于您已将EntitySetName="Servers"
中的EntityDataSource
设置为输出实体,因此Include
属性中使用的所有实体名称都必须具有Servers
实体的导航属性,如下例所示。
<asp:EntityDataSource ID="ServersEDS" runat="server"
ConnectionString="name=InventoryEntities"
DefaultContainerName="InventoryEntities"
EnableFlattening="False" EntitySetName="Servers"
Include="Domains, Tag_entites, Tag_Services, Datastores, Servers_IPs">
</asp:EntityDataSource>
如果您想在上面的EF数据源定义中包括Contact_Service
,请在两个表之间具有外键关系的情况下,将导航属性放在Servers
中的Contact_Service
实体中。