Comparteix a través de


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

Definición

Limita los resultados de la consulta excluyendo resultados basándose en los resultados de otra consulta de objeto.

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)

Parámetros

query
ObjectQuery<T>

ObjectQuery<T> que representa los resultados que hay que excluir de la consulta.

Devoluciones

Nueva instancia de ObjectQuery<T> que es equivalente a la instancia original, pero aplicando EXCEPT basándose en query que se especificó.

Excepciones

El parámetro query es null o una cadena vacía.

Ejemplos

En este ejemplo se usa Except el método para crear un nuevo ObjectQuery<T> objeto y, a continuación, se recorre en iteración el resultado de la nueva consulta.

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

Comentarios

El proporcionado query que define los resultados que se van a excluir debe ser del mismo tipo o de un tipo que sea compatible con .ObjectQuery<T>

Los parámetros definidos en el proporcionado query se combinan con parámetros definidos en la ObjectQuery<T> instancia de . Los parámetros deben ser únicos en la ObjectParameterCollection combinada. No puede haber dos parámetros en la colección combinada con el mismo nombre. Para obtener más información, vea Métodos del Generador de consultas.

La consulta resultante hereda la conexión de la instancia de ObjectQuery<T> en la que se llamó a Except.

Se aplica a

Consulte también