错误:Container上不存在页面标记中指定的EntitySet“Building”

时间:2011-04-04 15:39:12

标签: asp.net vb.net entity-framework entity-framework-4

我在GridView中设置了这样的ItemTeplate:

<asp:TemplateField HeaderText="Building">
    <ItemTemplate>
        <asp:Label 
            ID="lblBuilding" 
            Text='<%# Bind("Building1.building_name") %>' 
            runat="server" />
    </ItemTemplate>
    <EditItemTemplate>
        <asp:EntityDataSource 
            ID="EditHousingDataSource" 
            runat="server" 
            EnableDelete="true" 
            ConnectionString="name=pbu_housingEntities"
            DefaultContainerName="pbu_housingEntities" 
            EnableFlattening="false" 
            EntitySetName="Building" 
            EntityTypeFilter="Building" />
        <asp:DropDownList 
            ID="ddlBuilding" 
            runat="server" 
            DataSourceID="EditHousingDataSource"
            DataTextField="building_name" 
            DataValueField="ID" />
    </EditItemTemplate>
</asp:TemplateField>

我收到错误:

  

容器中不存在页面标记中指定的EntitySet“Building”。

为什么有任何想法? pbu_housingEntities中肯定有一个Building实体吗?

1 个答案:

答案 0 :(得分:12)

这里......

EntitySetName="Building"

...您不必指定实体的类名,而是指定派生的ObjectContext的ObjectSet<Building>属性的名称。

这可能被称为Buildings。您可以在edmx模型配置中或在生成的文件中检查派生的ObjectContext。