EntityDataSource.Include Propiedad

Definición

Obtiene o establece la expresión que especifica los objetos relacionados que se incluyen en los resultados de la consulta.

public string Include { get; set; }

Valor de propiedad

Lista de rutas de consulta separadas por comas que se devuelve en los resultados de la consulta.

Ejemplos

El siguiente marcado XML define una ruta de acceso de consulta que devuelve SalesOrderHeader objetos relacionados con el objeto devuelto Contact . Con cada SalesOrderHeader, también se devuelven los objetos relacionados SalesOrderDetail y 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>

El ejemplo XML anterior es el mismo que el siguiente ObjectQuery<T> denominado customers:

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

Comentarios

La Include propiedad del EntityDataSource control especifica una lista separada por comas de rutas de acceso de consulta que definen los objetos que se devuelven junto con el objeto consultado específicamente. Cada valor separado por comas de la cadena se pasa, sin modificaciones, como una llamada independiente al Include método de un ObjectQuery<T> objeto ejecutado por Entity Framework. Esta consulta es el origen de los datos regulados por el EntityDataSource control . La Include propiedad es el argumento aplicado a ObjectQuery<T> antes de que se ejecute.

La cadena proporcionada a la Include propiedad usa el mismo formato que la cadena que se pasa al Include método de ObjectQuery<T>. Para obtener ejemplos de cómo usar rutas de acceso de consulta para cargar automáticamente objetos relacionados, vea How to: Use Query Paths to Shape Results.

Cuando la Include propiedad se usa para especificar rutas de acceso de consulta, las propiedades de las entidades relacionadas solo se pueden usar para el enlace de datos de solo lectura. Si los objetos relacionados no se incluyen explícitamente en la ruta de acceso de consulta, los descriptores de propiedad siguen estando disponibles para el enlace de datos, pero las propias propiedades devuelven valores NULL. En este caso, los objetos relacionados deben cargarse explícitamente para mostrar sus valores. Para obtener más información, vea Cargar objetos relacionados.

Se aplica a

Producto Versiones
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1