Condividi tramite


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

Definizione

Limita i risultati della query includendo solo i risultati presenti in un'altra query 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.

Valori restituiti

ObjectQuery<T> Nuova istanza equivalente all'istanza originale con INTERSECT applicato in base all'oggetto specificatoquery.

Eccezioni

Il query parametro è o è null una stringa vuota.

Esempio

In questo esempio viene creato un nuovo ObjectQuery<T> oggetto 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> di . I parametri devono essere univoci nell'oggetto combinato ObjectParameterCollection. 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 ObjectQuery<T> in cui è stato chiamato il Intersect metodo .

Si applica a

Vedi anche