ObjectQuery<T>.Union(ObjectQuery<T>) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Combineert de resultaten van de query met de resultaten van een andere objectquery, zonder duplicaten.
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)
Parameters
- query
- ObjectQuery<T>
Een ObjectQuery<T> die de resultaten vertegenwoordigt die moeten worden toegevoegd.
Retouren
Een nieuw ObjectQuery<T> exemplaar dat gelijk is aan het oorspronkelijke exemplaar waarop UNION is toegepast om de resultaten van de opgegeven querytoe te voegen.
Uitzonderingen
De query parameter is null.
Voorbeelden
In dit voorbeeld wordt een methode gebruikt Union om een nieuw ObjectQuery<T> object te maken.
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);
}
}
Opmerkingen
Union voegt de resultaten van de opgegeven query zonder duplicaten toe.
De opgegeven query die de resultaten definieert die moeten worden toegevoegd, moeten van hetzelfde type zijn of van een type dat kan worden gepromoveerd tot het type van dit ObjectQuery<T>type. Het volgende is bijvoorbeeld geldig omdat DiscontinuedProducts kan worden gepromoveerd naar Products:
ObjectQuery<Product>.Union(ObjectQuery<DiscontinuedProduct>)
Het volgende genereert een uitzondering omdat Products deze niet kan worden gepromoveerd naar DiscontinuedProducts.
ObjectQuery <DiscontinuedProduct>.Union(ObjectQuery<Product>)
Voor een ObjectQuery<T> van het type DbDataRecordmoeten de records in beide query's hetzelfde aantal kolommen hebben en moeten de typen in de kolommen van de DbDataRecord doorgegeven query kolommen promotabel zijn voor de typen kolommen in de kolommen in de DbDataRecordObjectQuery<T>.
Parameters die zijn gedefinieerd in de opgegeven query , worden samengevoegd met parameters die in het ObjectQuery<T> exemplaar zijn gedefinieerd. Parameters moeten uniek zijn in de gecombineerde ObjectParameterCollection. Er kunnen geen twee parameters in de gecombineerde verzameling met dezelfde naam zijn. Zie Methoden voor opbouwfunctie voor query's voor meer informatie.
De resulterende query neemt de verbinding over van het ObjectQuery<T> exemplaar waarop Union is aangeroepen.