定義查詢路徑 (EntityDataSource)
更新:2007 年 11 月
您可以使用 EntityDataSource 控制項的 Include 屬性指定以逗號分隔的查詢路徑清單,定義哪些物件與特定查詢的物件一併傳回。每次呼叫 ObjectQuery<T> (此為 EntityDataSource 控制項的資料來源) 的 Include 方法時,就會傳遞字串中一個以逗號分隔的值,而且不加以修改。
提供給 Include 屬性的字串使用的格式與傳遞至 ObjectQuery<T> 之 Include 方法的字串相同。如需如何使用查詢路徑自動載入相關物件的範例,請參閱 HOW TO:使用查詢路徑規範查詢結果 (Entity Framework)。
範例
下列 XML 標記會定義查詢路徑,傳回與已傳回之 Contact 物件相關的 SalesOrderHeader 物件。對於每個 SalesOrderHeader,也會傳回相關的 SalesOrderDetail 和 Address 物件。
<asp:EntityDataSource ID="ContactDataSource"
AutoGenerateWhereClause="True" ConnectionString="name=AdventureWorksEntities"
DefaultContainerName="AdventureWorksEntities" EnableDelete="True"
EnableInsert="True" EnableUpdate="True" EntitySetName="Contact"
Include="SalesOrderHeader.SalesOrderDetail, SalesOrderHeader.Address">
<WhereParameters>
<asp:ControlParameter ControlID="customerId" Name="ContactID"
PropertyName="Text" />
</WhereParameters>
</asp:EntityDataSource>
之前的 XML 範例與下列名為 contacts 的 ObjectQuery<T> 相同:
ObjectQuery<Contact> contacts =
context.Contact
.Where("it.ContactID = @ContactID",
new ObjectParameter("ContactID", customerId))
.Include("SalesOrderHeader.SalesOrderDetail")
.Include("SalesOrderHeader.Address");