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>

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

Retours

Nouvelle ObjectQuery<T> instance équivalente à l’instance d’origine avec INTERSECT appliquée en fonction du paramètre spécifié query.

Exceptions

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

Exemples

Cet exemple crée un ObjectQuery<T> objet 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

L’élément 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 fichier fourni query sont fusionnés avec les paramètres définis dans l’instance ObjectQuery<T> . Les paramètres doivent être uniques dans la combinaison ObjectParameterCollection. Il ne peut pas y avoir deux paramètres dans la collection combinée portant le 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 Intersect méthode a été appelée.

S’applique à

Voir aussi