Freigeben über


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

Definition

Beschränkt die Abfrageergebnisse, indem Ergebnisse basierend auf den Ergebnissen einer anderen Objektabfrage ausgeschlossen werden.

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)

Parameter

query
ObjectQuery<T>

Ein ObjectQuery<T> Wert, der die Ergebnisse darstellt, die von der Abfrage ausgeschlossen werden sollen.

Gibt zurück

Eine neue ObjectQuery<T> Instanz, die der ursprünglichen Instanz entspricht, wobei EXCEPT basierend auf der angegebenen queryInstanz angewendet wird.

Ausnahmen

Der query Parameter ist null oder eine leere Zeichenfolge.

Beispiele

In diesem Beispiel wird Except eine Methode verwendet, um ein neues ObjectQuery<T> Objekt zu erstellen und dann das Ergebnis der neuen Abfrage durchzublättern.

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

Hinweise

Die bereitgestellte, query die auszuschließende Ergebnisse definiert, muss vom gleichen Typ oder von einem Typ sein, der mit dem ObjectQuery<T>.

Parameter, die in der angegebenen query Datei definiert sind, werden mit Parametern zusammengeführt, die in der ObjectQuery<T> Instanz definiert sind. Parameter müssen in kombinationen ObjectParameterCollectioneindeutig sein. Es können nicht zwei Parameter in der kombinierten Auflistung mit demselben Namen vorhanden sein. Weitere Informationen finden Sie unter Abfrage-Generator-Methoden.

Die resultierende Abfrage erbt die Verbindung von der Instanz, für die ObjectQuery<T>Except aufgerufen wurde.

Gilt für:

Weitere Informationen