Partager via


ObjectQuery<T>.Intersect(ObjectQuery<T>) Méthode

Définition

Limite les résultats de la requête en incluant uniquement les résultats qui existent dans une autre requête d'objet.

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)

Paramètres

query
ObjectQuery<T>

Objet ObjectQuery<T> qui représente les résultats à inclure dans la requête.

Retours

Nouvelle instance ObjectQuery<T> qui est équivalente à l'instance d'origine avec INTERSECT appliqué selon l’élément query spécifié.

Exceptions

Le paramètre query est null ou une chaîne vide.

Exemples

Cet exemple crée un nouvel objet ObjectQuery<T> qui contient les résultats de deux autres requêtes.

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

Remarques

Le fourni query qui définit les résultats à inclure doit être du même type ou d’un type compatible avec le ObjectQuery<T>.

Les paramètres définis dans le fourni query sont fusionnés avec les paramètres définis dans l’instance ObjectQuery<T> . Les paramètres doivent être uniques dans l'objet ObjectParameterCollection combiné. La collection combinée ne peut pas contenir deux paramètres du même nom. Pour plus d’informations, consultez Méthodes du Générateur de requêtes.

La requête résultante hérite de la connexion de l'instance ObjectQuery<T> sur laquelle la méthode Intersect a été appelée.

S’applique à

Voir aussi