Compartir a través de


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

Definición

Limita los resultados de la consulta incluyendo solo los resultados existentes en otra consulta de objeto.

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)

Parámetros

query
ObjectQuery<T>

ObjectQuery<T> que representa los resultados que hay que incluir en la consulta.

Devoluciones

Nueva instancia de ObjectQuery<T> que es equivalente a la instancia original, pero aplicando INTERSECT basándose en la query especificada.

Excepciones

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

Ejemplos

En este ejemplo, se crea un nuevo objeto ObjectQuery<T> que contiene los resultados de otras dos consultas.

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

Comentarios

El proporcionado query que define los resultados que se van a incluir debe ser del mismo tipo o de un tipo 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ó al método Intersect.

Se aplica a

Consulte también