ObjectQuery<T>.Union(ObjectQuery<T>) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Combina los resultados de la consulta con los resultados de otra consulta de objeto, pero sin duplicados.
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)
Parámetros
- query
- ObjectQuery<T>
ObjectQuery<T> que representa los resultados que se van a agregar.
Devoluciones
Nueva instancia de ObjectQuery<T> que es equivalente a la instancia original, pero aplicando UNION para agregar los resultados de la query
especificada.
Excepciones
El parámetro query
es null
.
Ejemplos
En este ejemplo se usa Union el método para crear un nuevo ObjectQuery<T> objeto.
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);
}
}
Comentarios
Union agrega los resultados del proporcionado query
sin duplicados.
El proporcionado query
que define los resultados que se van a agregar debe ser del mismo tipo o de un tipo que se puede promover al tipo de este ObjectQuery<T>. Por ejemplo, lo siguiente es válido porque DiscontinuedProducts
se puede promover a Products
:
ObjectQuery<Product>.Union(ObjectQuery<DiscontinuedProduct>)
A continuación se produce una excepción porque Products
no se puede promover a DiscontinuedProducts
.
ObjectQuery <DiscontinuedProduct>.Union(ObjectQuery<Product>)
Para un ObjectQuery<T> de tipo DbDataRecord, los registros de ambas consultas deben tener el mismo número de columnas y los tipos de las columnas del DbDataRecord objeto query
pasado deben ser promotables a los tipos de las columnas de DbDataRecord de .ObjectQuery<T>
Los parámetros definidos en el proporcionado query
se combinan con parámetros definidos en la ObjectQuery<T> instancia de . Los parámetros deben ser únicos en la ObjectParameterCollection combinada. No puede haber dos parámetros en la colección combinada con el mismo nombre. Para obtener más información, vea Métodos del Generador de consultas.
La consulta resultante hereda la conexión de la instancia de ObjectQuery<T> en la que se llamó a Union.