我在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实体吗?
答案 0 :(得分:12)
这里......
EntitySetName="Building"
...您不必指定实体的类名,而是指定派生的ObjectContext的ObjectSet<Building>
属性的名称。
这可能被称为Buildings
。您可以在edmx模型配置中或在生成的文件中检查派生的ObjectContext。