Udostępnij za pośrednictwem


ObjectQuery<T>.Include(String) Metoda

Definicja

Określa powiązane obiekty do uwzględnienia w wynikach zapytania.

public:
 System::Data::Objects::ObjectQuery<T> ^ Include(System::String ^ path);
public System.Data.Objects.ObjectQuery<T> Include (string path);
member this.Include : string -> System.Data.Objects.ObjectQuery<'T>
Public Function Include (path As String) As ObjectQuery(Of T)

Parametry

path
String

Rozdzielona kropką lista powiązanych obiektów, które mają być zwracane w wynikach zapytania.

Zwraca

Nowa ObjectQuery<T> z zdefiniowaną ścieżką zapytania.

Wyjątki

path to null.

path to empty.

Przykłady

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    // Define an object query with a path that returns
    // orders and items for a specific contact.
    Contact contact =
        context.Contacts.Include("SalesOrderHeaders.SalesOrderDetails")
        .FirstOrDefault();

    // Execute the query and display information for each item
    // in the orders that belong to the first contact.
    foreach (SalesOrderHeader order in contact
        .SalesOrderHeaders)
    {
        Console.WriteLine(String.Format("PO Number: {0}",
            order.PurchaseOrderNumber));
        Console.WriteLine(String.Format("Order Date: {0}",
            order.OrderDate.ToString()));
        Console.WriteLine("Order items:");
        foreach (SalesOrderDetail item in order.SalesOrderDetails)
        {
            Console.WriteLine(String.Format("Product: {0} "
                + "Quantity: {1}", item.ProductID.ToString(),
                item.OrderQty.ToString()));
        }
    }
}

Uwagi

Ścieżki zapytań mogą być używane z zapytaniami ENTITY SQL i LINQ.

Ścieżki są all-inclusive. Jeśli na przykład wywołanie dołączania wskazuje Include("Orders.OrderLines"), nie tylko zostanie OrderLines uwzględnione, ale także Orders. Aby uzyskać więcej informacji, zobacz Ładowanie powiązanych obiektów.

Po wywołaniu Include metody ścieżka zapytania jest prawidłowa tylko w zwróconym wystąpieniu klasy ObjectQuery<T>. Nie ma to wpływu na inne wystąpienia ObjectQuery<T> kontekstu obiektu i samego kontekstu obiektu.

Include Ponieważ metoda zwraca obiekt zapytania, można wywołać tę metodę wiele razy na obiekcie ObjectQuery<T> , aby określić wiele ścieżek dla zapytania, jak w poniższym przykładzie:

// Create a SalesOrderHeader query with two query paths,
// one that returns order items and a second that returns the
// billing and shipping addresses for each order.
ObjectQuery<SalesOrderHeader> query =
    context.SalesOrderHeaders.Include("SalesOrderDetails").Include("Address");

Dotyczy

Zobacz też