ObjectQuery<T>.Union(ObjectQuery<T>) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sorgunun sonuçlarını başka bir nesne sorgusunun sonuçlarıyla birleştirir ve yineleme olmadan.
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)
Parametreler
- query
- ObjectQuery<T>
ObjectQuery<T> Eklenecek sonuçları temsil eden bir.
Döndürülenler
Belirtilen öğesinin sonuçlarını eklemek için UNION uygulanmış özgün örneğe eşdeğer yeni ObjectQuery<T> bir örnek.query
Özel durumlar
query parametresidirnull.
Örnekler
Bu örnek, yeni ObjectQuery<T> bir nesne oluşturmak için yöntemini kullanırUnion.
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);
}
}
Açıklamalar
Union , herhangi bir yineleme olmadan sağlanan query sonuçlarını ekler.
Eklenecek sonuçları tanımlayan sağlanan query değerin, bu ObjectQuery<T>türüne yükseltilebilen aynı türde veya türünde olması gerekir. Örneğin, aşağıdakiler geçerli çünkü DiscontinuedProducts olarak yükseltilebilir Products:
ObjectQuery<Product>.Union(ObjectQuery<DiscontinuedProduct>)
Aşağıdakiler, 'a yükseltilemediğinden ProductsDiscontinuedProductsbir özel durum oluşturur.
ObjectQuery <DiscontinuedProduct>.Union(ObjectQuery<Product>)
türünde DbDataRecordher ObjectQuery<T> iki sorgudaki kayıtların da aynı sayıda sütuna sahip olması ve geçirilen query öğesinin DbDataRecord sütunlarındaki türlerin içindeki sütun DbDataRecordObjectQuery<T>türlerine tanıtılabilir olması gerekir.
Sağlanan query içinde tanımlanan parametreler, örnekte tanımlanan ObjectQuery<T> parametrelerle birleştirilir. Parametrelerin birleştirilmiş ObjectParameterCollectioniçinde benzersiz olması gerekir. Birleştirilmiş koleksiyonda aynı ada sahip iki parametre olamaz. Daha fazla bilgi için bkz. Sorgu Oluşturucu Yöntemleri.
Sonuçta elde edilen sorgu, çağrılan örnekten ObjectQuery<T>Union bağlantıyı devralır.