Freigeben über


ObjectQuery<T>.Intersect(ObjectQuery<T>) Methode

Definition

Beschränkt die Abfrageergebnisse, indem nur die Ergebnisse eingeschlossen werden, die in einer anderen Objektabfrage vorhanden sind.

public:
 System::Data::Objects::ObjectQuery<T> ^ Intersect(System::Data::Objects::ObjectQuery<T> ^ query);
public System.Data.Objects.ObjectQuery<T> Intersect(System.Data.Objects.ObjectQuery<T> query);
member this.Intersect : System.Data.Objects.ObjectQuery<'T> -> System.Data.Objects.ObjectQuery<'T>
Public Function Intersect (query As ObjectQuery(Of T)) As ObjectQuery(Of T)

Parameter

query
ObjectQuery<T>

Ein ObjectQuery<T> Wert, der die Ergebnisse darstellt, die in die Abfrage eingeschlossen werden sollen.

Gibt zurück

Eine neue ObjectQuery<T> Instanz, die der ursprünglichen Instanz entspricht, wobei INTERSECT basierend auf der angegebenen queryInstanz angewendet wird.

Ausnahmen

Der query Parameter ist null oder ist eine leere Zeichenfolge.

Beispiele

In diesem Beispiel wird ein neues ObjectQuery<T> Objekt erstellt, das die Ergebnisse von zwei anderen Abfragen enthält.

int productID1 = 900;
int productID2 = 950;
using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString = @"SELECT VALUE product
        FROM AdventureWorksEntities.Products
        AS product WHERE product.ProductID > @productID1";

    ObjectQuery<Product> productQuery =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    string queryString2 = @"SELECT VALUE product
        FROM AdventureWorksEntities.Products
        AS product WHERE product.ProductID > @productID2";

    ObjectQuery<Product> productQuery2 =
        new ObjectQuery<Product>(queryString2,
            context, MergeOption.NoTracking);

    ObjectQuery<Product> productQuery3 =
        productQuery.Intersect(productQuery2);

    productQuery3.Parameters.Add(new ObjectParameter("productID1", productID1));
    productQuery3.Parameters.Add(new ObjectParameter("productID2", productID2));

    Console.WriteLine("Result of Intersect");
    Console.WriteLine("------------------");

    // Iterate through the collection of Product items
    // after the Intersect method was called.
    foreach (Product result in productQuery3)
    {
        Console.WriteLine("Product Name: {0}", result.ProductID);
    }
}

Hinweise

Die bereitgestellte, query die einzuschließende Ergebnisse definiert, muss denselben Typ oder einen Typ aufweisen, der mit dem ObjectQuery<T>Typ kompatibel ist.

Parameter, die in der angegebenen query Datei definiert sind, werden mit Parametern zusammengeführt, die in der ObjectQuery<T> Instanz definiert sind. Parameter müssen in kombinationen ObjectParameterCollectioneindeutig sein. Es können nicht zwei Parameter in der kombinierten Auflistung mit demselben Namen vorhanden sein. Weitere Informationen finden Sie unter Abfrage-Generator-Methoden.

Die resultierende Abfrage erbt die Verbindung von der ObjectQuery<T> Instanz, für die die Intersect Methode aufgerufen wurde.

Gilt für:

Weitere Informationen