ObjectQuery<T>.Union(ObjectQuery<T>) Metode

Definisi

Menggabungkan hasil kueri dengan hasil kueri objek lain, tanpa duplikat apa pun.

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)

Parameter

query
ObjectQuery<T>

ObjectQuery<T> yang mewakili hasil yang akan ditambahkan.

Mengembalikan

Instans baru ObjectQuery<T> yang setara dengan instans asli dengan UNION diterapkan untuk menambahkan hasil dari yang ditentukan query.

Pengecualian

Parameternya query adalah null.

Contoh

Contoh ini menggunakan Union metode untuk membuat objek baru ObjectQuery<T> .

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);
    }
}

Keterangan

Union menambahkan hasil yang disediakan query tanpa duplikat apa pun.

Yang disediakan query yang menentukan hasil yang akan ditambahkan harus memiliki jenis yang sama atau dari jenis yang dapat dipromosikan ke jenis ini ObjectQuery<T>. Misalnya, berikut ini valid karena DiscontinuedProducts dapat dipromosikan ke Products:

ObjectQuery<Product>.Union(ObjectQuery<DiscontinuedProduct>)

Berikut ini akan melemparkan pengecualian karena Products tidak dapat dipromosikan ke DiscontinuedProducts.

ObjectQuery <DiscontinuedProduct>.Union(ObjectQuery<Product>)

ObjectQuery<T> Untuk jenis DbDataRecord, rekaman di kedua kueri harus memiliki jumlah kolom yang sama, dan jenis dalam kolom DbDataRecord yang diteruskan harus dapat diproyeksikan query ke jenis kolom di DbDataRecord dari ObjectQuery<T>.

Parameter yang ditentukan dalam yang disediakan query digabungkan dengan parameter yang ditentukan dalam ObjectQuery<T> instans. Parameter harus unik dalam gabungan ObjectParameterCollection. Tidak boleh ada dua parameter dalam koleksi gabungan dengan nama yang sama. Untuk informasi selengkapnya, lihat Metode Pembangun Kueri.

Kueri yang dihasilkan mewarisi koneksi dari ObjectQuery<T> instans yang Union dipanggil.

Berlaku untuk

Lihat juga