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

Definitie

Hiermee beperkt u de queryresultaten door alleen de resultaten op te vragen die aanwezig zijn in een andere objectquery.

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)

Parameters

query
ObjectQuery<T>

Een ObjectQuery<T> die de resultaten vertegenwoordigt die in de query moeten worden opgenomen.

Retouren

Een nieuw ObjectQuery<T> exemplaar dat gelijk is aan het oorspronkelijke exemplaar waarop INTERSECT is toegepast op basis van de opgegeven query.

Uitzonderingen

De query parameter is null of is een lege tekenreeks.

Voorbeelden

In dit voorbeeld wordt een nieuw ObjectQuery<T> object gemaakt dat de resultaten van twee andere query's bevat.

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);
    }
}

Opmerkingen

De opgegeven query die resultaten definieert die moeten worden opgenomen, moeten van hetzelfde type zijn of van een type dat compatibel is met de ObjectQuery<T>.

Parameters die zijn gedefinieerd in de opgegeven query , worden samengevoegd met parameters die in het ObjectQuery<T> exemplaar zijn gedefinieerd. Parameters moeten uniek zijn in de gecombineerde ObjectParameterCollection. Er kunnen geen twee parameters in de gecombineerde verzameling met dezelfde naam zijn. Zie Methoden voor opbouwfunctie voor query's voor meer informatie.

De resulterende query neemt de verbinding over van het ObjectQuery<T> exemplaar waarop de Intersect methode is aangeroepen.

Van toepassing op

Zie ook