ObjectQuery<T>.Union(ObjectQuery<T>) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zkombinuje výsledky dotazu s výsledky jiného objektového dotazu bez duplicit.
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)
Parametry
- query
- ObjectQuery<T>
Představuje ObjectQuery<T> výsledky, které se mají přidat.
Návraty
Nová ObjectQuery<T> instance, která je ekvivalentní původní instanci s použitým nástrojem UNION pro přidání výsledků zadané query
instance .
Výjimky
Parametr query
je null
.
Příklady
Tento příklad používá Union metodu k vytvoření nového ObjectQuery<T> objektu.
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);
}
}
Poznámky
Union přidá výsledky zadaného query
bez duplicit.
Zadaný, query
který definuje výsledky, které se mají přidat, musí být stejného typu nebo typu, který může být povýšen na typ tohoto ObjectQuery<T>. Například následující hodnota je platná, protože DiscontinuedProducts
může být povýšena na Products
:
ObjectQuery<Product>.Union(ObjectQuery<DiscontinuedProduct>)
Následující příkaz vyvolá výjimku, protože Products
nelze zvýšit úroveň na DiscontinuedProducts
.
ObjectQuery <DiscontinuedProduct>.Union(ObjectQuery<Product>)
ObjectQuery<T> U typu DbDataRecordmusí mít záznamy v obou dotazech stejný počet sloupců a typy ve sloupcích DbDataRecord předávaného query
musí být propagační na typy sloupců v DbDataRecord objektu ObjectQuery<T>.
Parametry, které jsou definovány v zadaném souboru query
, jsou sloučeny s parametry, které jsou definovány v ObjectQuery<T> instanci. Parametry musí být jedinečné v kombinovaném ObjectParameterCollectionparametru . V kombinované kolekci nemohou být dva parametry se stejným názvem. Další informace najdete v tématu Metody Tvůrce dotazů.
Výsledný dotaz zdědí připojení z ObjectQuery<T> instance, na které Union bylo voláno.