EntityDataSource.Include Свойство

Определение

Возвращает или задает выражение, определяющее связанные объекты для включения в результаты запроса.

public:
 property System::String ^ Include { System::String ^ get(); void set(System::String ^ value); };
public string Include { get; set; }
member this.Include : string with get, set
Public Property Include As String

Значение свойства

String

Разделенный запятыми список путей запроса для возврата в результатах запроса.

Примеры

Следующая 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> customers .

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

Комментарии

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

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

Если Include свойство используется для указания путей запроса, свойства связанных сущностей можно использовать только для привязки данных, предназначенной только для чтения. Если связанные объекты не включены явно в путь запроса, дескрипторы свойств по-прежнему доступны для привязки данных, но сами свойства возвращают значения NULL. В этом случае связанные объекты должны быть явно загружены для вывода их значений. Дополнительные сведения см. в разделе Загрузка связанных объектов.

Применяется к