Condividi tramite


ObjectQuery<T>.Except(ObjectQuery<T>) Metodo

Definizione

Limita i risultati della query escludendo quelli basati sui risultati di un'altra query di oggetto.

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)

Parametri

query
ObjectQuery<T>

Oggetto ObjectQuery<T> che rappresenta i risultati da escludere dalla query.

Restituisce

Nuova istanza di ObjectQuery<T> equivalente all'istanza originale con l'operatore EXCEPT applicato in base al parametro query specificato.

Eccezioni

Il parametro query è null oppure una stringa vuota.

Esempio

Questo esempio usa Except il metodo per creare un nuovo ObjectQuery<T> oggetto e quindi esegue l'iterazione del risultato della nuova query.

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

Commenti

L'oggetto specificato query che definisce i risultati da escludere deve essere dello stesso tipo o di un tipo compatibile con .ObjectQuery<T>

I parametri definiti nell'oggetto fornito query vengono uniti ai parametri definiti nell'istanza ObjectQuery<T> . I parametri devono essere univoci nell'oggetto ObjectParameterCollection combinato. Nella raccolta combinata non possono essere presenti due parametri con lo stesso nome. Per altre informazioni, vedere Metodi di Generatore query.

La query risultante eredita la connessione dall'istanza di ObjectQuery<T> su cui è stato chiamato il metodo Except.

Si applica a

Vedi anche