Поделиться через


Определение путей запросов (EntityDataSource)

Обновлен: Ноябрь 2007

Можно определить, какие объекты должны быть возвращены вместе со специально запрошенным объектом, путем использования свойства Includeэлемента управления EntityDataSource для задания разделенного запятыми списка путей запроса. Каждое из разделенных запятыми значений в этой строке передается без изменений в отдельном вызове метода Include объекта ObjectQuery<T>, который является источником данных для элемента управления EntityDataSource.

Строка, заданная в свойстве Include, имеет такой же формат, что и строка, передаваемая методу Include объекта ObjectQuery<T>. Пример применения путей запроса для автоматической загрузки связанных объектов см. в разделе Практическое руководство. Использование путей запроса для формирования результатов (Entity Framework).

Пример

Следующая разметка XML определяет путь запроса, возвращающего объекты SalesOrderHeader, связанные с возвращенным объектом Contact. С каждым SalesOrderHeader возвращаются также связанные объекты SalesOrderDetail и Address.

<asp:EntityDataSource ID="ContactDataSource" runat="server" 
    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 аналогичен следующему ObjectQuery<T> с именем contacts.

ObjectQuery<Contact> contacts =
      context.Contact
       .Where("it.ContactID = @ContactID",
         new ObjectParameter("ContactID", customerId))
        .Include("SalesOrderHeader.SalesOrderDetail")
        .Include("SalesOrderHeader.Address");

См. также

Основные понятия

Настройка элемента управления EntityDataSource

Фильтрация данных (EntityDataSource)

Конструктор EntityDataSource

Другие ресурсы

Формирование результатов запроса (Entity Framework)