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
Значение свойства
Разделенный запятыми список путей запроса для возврата в результатах запроса.
Примеры
Следующая 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. В этом случае связанные объекты должны быть явно загружены для вывода их значений. Дополнительные сведения см. в разделе Загрузка связанных объектов.