ObjectQuery<T>.Union(ObjectQuery<T>) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Kombiniert die Ergebnisse der Abfrage mit den Ergebnissen einer anderen Objektabfrage ohne Duplikate.
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)
Parameter
- query
- ObjectQuery<T>
Eine ObjectQuery<T>, die die hinzuzufügenden Ergebnisse darstellt.
Gibt zurück
Eine neue ObjectQuery<T>-Instanz, die der ursprünglichen Instanz entspricht, für die jedoch UNION festgelegt ist, um die Ergebnisse der angegebenen query
hinzuzufügen.
Ausnahmen
Der query
-Parameter ist null
.
Beispiele
In diesem Beispiel wird die -Methode verwendet Union , um ein neues ObjectQuery<T> -Objekt zu erstellen.
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);
}
}
Hinweise
Union fügt die Ergebnisse der angegebenen query
ohne Duplikate hinzu.
Die angegebene query
, die die hinzuzufügenden Ergebnisse definiert, muss vom gleichen Typ oder von einem Typ sein, der in den Typ dieses ObjectQuery<T>höher gestuft werden kann. Beispielsweise ist Folgendes gültig, da DiscontinuedProducts
zu Products
heraufgestuft werden kann:
ObjectQuery<Product>.Union(ObjectQuery<DiscontinuedProduct>)
Im Folgenden wird eine Ausnahme ausgelöst, da Products
nicht zu DiscontinuedProducts
heraufgestuft werden kann.
ObjectQuery <DiscontinuedProduct>.Union(ObjectQuery<Product>)
Für ein ObjectQuery<T> vom Typ DbDataRecordmüssen die Datensätze in beiden Abfragen die gleiche Anzahl von Spalten aufweisen, und die Typen in den Spalten des DbDataRecord übergebenen query
müssen auf die Typen der Spalten in der DbDataRecordObjectQuery<T>der heraufstufbar sein.
Parameter, die in der angegebenen query
definiert sind, werden mit Parametern zusammengeführt, die in der ObjectQuery<T> -Instanz definiert sind. Parameter müssen in der kombinierten ObjectParameterCollection eindeutig sein. In der kombinierten Auflistung dürfen sich nicht zwei Parameter mit demselben Namen befinden. Weitere Informationen finden Sie unter Abfrage-Generator-Methoden.
Die resultierende Abfrage erbt die Verbindung von der ObjectQuery<T>-Instanz, für die Union aufgerufen wurde.