Condividi tramite


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

Definizione

Limita i risultati della query includendo solo i risultati presenti in un'altra query di oggetto.

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)

Parametri

query
ObjectQuery<T>

Oggetto ObjectQuery<T> che rappresenta i risultati da includere nella query.

Restituisce

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

Eccezioni

Il parametro query è null oppure una stringa vuota.

Esempio

In questo esempio viene creato un nuovo oggetto ObjectQuery<T> contenente i risultati di altre due query.

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

Commenti

L'oggetto fornito query che definisce i risultati da includere 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 Intersect.

Si applica a

Vedi anche