ObjectQuery<T>.Union(ObjectQuery<T>) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Combina i risultati della query con i risultati di un'altra query di oggetto senza duplicati.
public:
System::Data::Objects::ObjectQuery<T> ^ Union(System::Data::Objects::ObjectQuery<T> ^ query);
public System.Data.Objects.ObjectQuery<T> Union (System.Data.Objects.ObjectQuery<T> query);
member this.Union : System.Data.Objects.ObjectQuery<'T> -> System.Data.Objects.ObjectQuery<'T>
Public Function Union (query As ObjectQuery(Of T)) As ObjectQuery(Of T)
Parametri
- query
- ObjectQuery<T>
Oggetto ObjectQuery<T> che rappresenta i risultati da aggiungere.
Restituisce
Nuova istanza di ObjectQuery<T> equivalente all'istanza originale con l'operatore UNION applicato per aggiungere i risultati del parametro query
specificato.
Eccezioni
Il valore del parametro query
è null
.
Esempio
In questo esempio viene utilizzato il Union metodo per creare un nuovo ObjectQuery<T> oggetto .
int productID = 100;
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
string queryString = @"SELECT VALUE product
FROM AdventureWorksEntities.Products AS product
WHERE product.ProductID < @productID";
ObjectQuery<Product> productQuery =
new ObjectQuery<Product>(queryString,
context, MergeOption.NoTracking);
ObjectQuery<Product> productQuery2 =
new ObjectQuery<Product>(queryString,
context, MergeOption.NoTracking);
ObjectQuery<Product> productQuery3 =
productQuery.Union(productQuery2);
productQuery3.Parameters.Add(new ObjectParameter("productID", productID));
Console.WriteLine("Result of Union");
Console.WriteLine("------------------");
// Iterate through the collection of Product items,
// after the Union method was called on two queries.
foreach (Product result in productQuery3)
{
Console.WriteLine("Product Name: {0}", result.ProductID);
}
}
Commenti
Union aggiunge i risultati dell'oggetto query
fornito senza duplicati.
L'oggetto fornito query
che definisce i risultati da aggiungere deve essere dello stesso tipo o di un tipo che può essere promosso al tipo di .ObjectQuery<T> Ad esempio, il codice seguente è valido perché DiscontinuedProducts
può essere promosso a Products
:
ObjectQuery<Product>.Union(ObjectQuery<DiscontinuedProduct>)
Di seguito viene generata un'eccezione perché Products
non può essere alzata di livello a DiscontinuedProducts
.
ObjectQuery <DiscontinuedProduct>.Union(ObjectQuery<Product>)
Per un ObjectQuery<T> di tipo DbDataRecord, i record in entrambe le query devono avere lo stesso numero di colonne e i tipi nelle colonne dell'oggetto DbDataRecord passato query
devono essere promuovibili ai tipi delle colonne nell'oggetto DbDataRecordObjectQuery<T>di .
I parametri definiti nell'oggetto fornito query
vengono uniti ai parametri definiti nell'istanza ObjectQuery<T> di . 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 del generatore di query.
La query risultante eredita la connessione dall'istanza di ObjectQuery<T> su cui è stato chiamato il metodo Union.