我通過本教程:http://www.asp.net/entity-framework/tutorials/the-entity-framework-and-aspnet-%E2%80%93-getting-started-part-3如何在實體數據源的一對多關係中包含外鍵?
約2/3下來的頁面,你會看到:
的OrderByExpression元素指定結果集將通過課程名稱部門名稱中訂購。注意如何指定部門名稱:Department.Name。由於課程實體和部門實體之間的關聯是一對一的關係,因此部門導航屬性包含部門實體。 (如果這是一對多關係,則該屬性將包含一個集合。)要獲取部門名稱,您必須指定Department實體的Name屬性。
如何爲我的一對多關係設置一個集合?我環顧網絡,找不到答案。我收到以下消息當我運行頁:
數據綁定:「System.Data.Objects.DataClasses.EntityCollection`1 [QCPropertiesModel.Property,App_Code.s8yp4uy2,版本= 0.0.0.0,文化=中性,PublicKeyToken = null]]'不包含名爲'DataPublished'的屬性。
這是我的代碼:
<asp:EntityDataSource ID="PropertiesDataSource" runat="server"
ConnectionString="name=QCPlacesEntities"
DefaultContainerName="QCPlacesEntities" EnableFlattening="False"
EntitySetName="CustomerDetails"
include="Properties">
</asp:EntityDataSource>
<asp:QueryExtender ID="SearchQueryExtender" runat="server"
TargetControlID="PropertiesDataSource" >
</asp:QueryExtender>
<asp:GridView ID="SearchGridView" runat="server" AutoGenerateColumns="False"
DataKeyNames="CustomerID" DataSourceID="PropertiesDataSource" AllowPaging="true">
<Columns>
<asp:TemplateField HeaderText="Date Published">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Properties.DatePublished") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="CustomerID" HeaderText="ID"/>
<asp:BoundField DataField="CustomerLName" HeaderText="Last Name" />
<asp:BoundField DataField="CustomerFName" HeaderText="First Name" />
</Columns>
</asp:GridView>