Partager via


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

Définition

Limite les résultats de la requête en excluant les résultats basés sur les résultats d'une autre requête d'objet.

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

Paramètres

query
ObjectQuery<T>

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

Retours

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

Exceptions

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

Exemples

Cet exemple utilise Except la méthode pour créer un ObjectQuery<T> objet, puis effectue une itération dans le résultat de la nouvelle requête.

int productID = 900;
using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString = @"SELECT VALUE product
        FROM AdventureWorksEntities.Products AS product";

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

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

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

    productQuery2.Parameters.Add(new ObjectParameter("productID", productID));

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

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

    // Iterate through the collection of Product items
    // after the Except 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 à exclure doit être du même type ou d’un type compatible avec .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 Except a été appelée.

S’applique à

Voir aussi