定義查詢路徑 (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");

請參閱

概念

設定 EntityDataSource 控制項

篩選資料 (EntityDataSource)

EntityDataSource 設計工具

其他資源

為查詢結果定形 (Entity Framework)