Definir rutas de consulta (EntityDataSource)

Visual Studio 2010

Actualización: noviembre 2007

Puede definir qué objetos se devuelven junto con el objeto consultado específicamente utilizando la propiedad Include del control EntityDataSource para especificar una lista separada por comas de rutas de consulta. Cada valor separado por comas de la cadena se pasa, sin modificaciones, como una llamada independiente al método Include de la clase ObjectQuery<T> que es el origen de datos del control EntityDataSource.

La cadena suministrada a la propiedad Include usa el mismo formato que la cadena pasada al método Include de la clase ObjectQuery<T>. Para obtener ejemplos de cómo utilizar las rutas de consulta para cargar los objetos relacionados automáticamente, vea Cómo: Usar rutas de consulta para dar forma a los resultados (Entity Framework)).

El siguiente formato XML define una ruta de consulta que devuelve objetos SalesOrderHeader relacionados con el objeto Contact devuelto. Con cada objeto SalesOrderHeader, también se devuelven los objetos Address y SalesOrderDetail relacionados.

<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 igual que la siguiente consulta ObjectQuery<T> denominada contacts:

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

Adiciones de comunidad

AGREGAR
Mostrar: