ObjectQuery<T>.Union(ObjectQuery<T>) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Combine les résultats de la requête avec les résultats d'une autre requête d'objet, sans doublon.
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)
Paramètres
- query
- ObjectQuery<T>
ObjectQuery<T> qui représente les résultats à ajouter.
Retours
Nouvelle instance ObjectQuery<T> qui est équivalente à l’instance d’origine avec UNION appliqué pour ajouter les résultats du query
spécifié.
Exceptions
Le paramètre query
a la valeur null
.
Exemples
Cet exemple utilise la Union méthode pour créer un ObjectQuery<T> objet .
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);
}
}
Remarques
Union ajoute les résultats du fourni query
sans doublons.
Le fourni query
qui définit les résultats à ajouter doit être du même type ou d’un type qui peut être promu au type de ce ObjectQuery<T>. Par exemple, les éléments suivants sont valides, car DiscontinuedProducts
peuvent être promus en Products
:
ObjectQuery<Product>.Union(ObjectQuery<DiscontinuedProduct>)
Les éléments suivants lèvent une exception, car Products
ne peut pas être promu en DiscontinuedProducts
.
ObjectQuery <DiscontinuedProduct>.Union(ObjectQuery<Product>)
Pour un ObjectQuery<T> de type DbDataRecord, les enregistrements dans les deux requêtes doivent avoir le même nombre de colonnes, et les types dans les colonnes du DbDataRecord du passé query
doivent être promotables aux types des colonnes dans le DbDataRecordObjectQuery<T>du .
Les paramètres définis dans le fourni query
sont fusionnés avec les paramètres définis dans l’instance ObjectQuery<T> . Les paramètres doivent être uniques dans l'objet ObjectParameterCollection combiné. La collection combinée ne peut pas contenir deux paramètres du même nom. Pour plus d’informations, consultez Méthodes du Générateur de requêtes.
La requête résultante hérite de la connexion de l'instance ObjectQuery<T> sur laquelle la méthode Union a été appelée.