ObjectQuery<T>.UnionAll(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ı, tüm yinelemeler de dahil olmak üzere başka bir nesne sorgusunun sonuçlarıyla birleştirir.
public:
System::Data::Objects::ObjectQuery<T> ^ UnionAll(System::Data::Objects::ObjectQuery<T> ^ query);
public System.Data.Objects.ObjectQuery<T> UnionAll (System.Data.Objects.ObjectQuery<T> query);
member this.UnionAll : System.Data.Objects.ObjectQuery<'T> -> System.Data.Objects.ObjectQuery<'T>
Public Function UnionAll (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 query
öğesinin sonuçlarını eklemek için UNION ALL uygulanmış özgün örneğe eşdeğer yeni ObjectQuery<T> bir örnek.
Özel durumlar
query
parametresidirnull
.
Örnekler
Bu örnek, yeni ObjectQuery<T> bir nesne oluşturmak için yöntemini kullanırUnionAll. Ardından yeni ObjectQuery<T> nesnede yöntemini çağırarak Distinct bu sorgunun benzersiz sonuçlarını alır.
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.UnionAll(productQuery2);
productQuery3.Parameters.Add(new ObjectParameter("productID", productID));
Console.WriteLine("Result of UnionAll");
Console.WriteLine("------------------");
// Iterate through the collection of Product items,
// after the UnionAll method was called on two queries.
foreach (Product result in productQuery3)
{
Console.WriteLine("Product Name: {0}", result.ProductID);
}
ObjectQuery<Product> productQuery4 = productQuery3.Distinct();
Console.WriteLine("\nResult of Distinct");
Console.WriteLine("------------------");
// Iterate through the collection of Product items.
// after the Distinct method was called on a query.
foreach (Product result in productQuery4)
Console.WriteLine("Product Name: {0}", result.ProductID);
}
Açıklamalar
UnionAll tüm yinelemeler dahil olmak üzere sağlanan query
sonuçları ekler.
Eklenecek sonuçları tanımlayan sağlanan query
, bu türüne yükseltilebilen aynı türde veya türde ObjectQuery<T>olmalıdır. Örneğin, aşağıdakiler geçerli çünkü DiscontinuedProducts
olarak yükseltilebilir Products
:
ObjectQuery<Product>.Union(ObjectQuery<DiscontinuedProduct>)
Aşağıdakiler, yükseltilemeyeceğinden Products
DiscontinuedProducts
bir özel durum oluşturur.
ObjectQuery <DiscontinuedProduct>.Union(ObjectQuery<Product>)
türünde DbDataRecordbir ObjectQuery<T> için, her 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>UnionAll bağlantıyı devralır.
Şunlara uygulanır
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin