Bagikan melalui


ObjectQuery<T> Konstruktor

Definisi

Menginisialisasi instans baru kelas ObjectQuery<T>.

Overload

ObjectQuery<T>(String, ObjectContext)

Membuat instans baru ObjectQuery<T> menggunakan perintah Entity SQL yang ditentukan sebagai kueri awal.

ObjectQuery<T>(String, ObjectContext, MergeOption)

Membuat instans baru ObjectQuery<T> menggunakan perintah Entity SQL yang ditentukan sebagai kueri awal dan opsi penggabungan yang ditentukan.

Keterangan

ObjectQuery<T> Dapat diinisialisasi singgah sehingga mewakili satu hasil skalar dan bukan kumpulan hasil skalar. Beberapa metode ekstensi memerlukan hasil pengumpulan sebagai input. Dalam hal ini, dilemparkan ArgumentException ketika salah satu metode ini dipanggil. Untuk informasi selengkapnya, lihat Kueri Objek.

Saat aplikasi Anda menghasilkan kueri Entity SQL pada runtime, Anda harus mengetahui batasan panjang perintah sumber data. SQL entitas tidak memberlakukan batasan pada panjang teks perintah dalam kueri.

ObjectQuery<T>(String, ObjectContext)

Membuat instans baru ObjectQuery<T> menggunakan perintah Entity SQL yang ditentukan sebagai kueri awal.

public:
 ObjectQuery(System::String ^ commandText, System::Data::Objects::ObjectContext ^ context);
public ObjectQuery (string commandText, System.Data.Objects.ObjectContext context);
new System.Data.Objects.ObjectQuery<'T> : string * System.Data.Objects.ObjectContext -> System.Data.Objects.ObjectQuery<'T>
Public Sub New (commandText As String, context As ObjectContext)

Parameter

commandText
String

Kueri SQL Entitas.

context
ObjectContext

untuk ObjectContext menjalankan kueri.

Contoh

Contoh ini menunjukkan cara membuat instans ObjectQuery<T> kelas.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    // Call the constructor with a query for products and the ObjectContext.
    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>("Products", context);

    foreach (Product result in productQuery1)
        Console.WriteLine("Product Name: {0}", result.Name);

    string queryString =
        @"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";

    // Call the constructor with the specified query and the ObjectContext.
    ObjectQuery<Product> productQuery2 =
        new ObjectQuery<Product>(queryString, context);

    foreach (Product result in productQuery2)
        Console.WriteLine("Product Name: {0}", result.Name);

    // Call the constructor with the specified query, the ObjectContext,
    // and the NoTracking merge option.
    ObjectQuery<Product> productQuery3 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    foreach (Product result in productQuery3)
        Console.WriteLine("Product Name: {0}", result.Name);
}

Keterangan

Saat aplikasi Anda menghasilkan kueri Entity SQL pada runtime, Anda harus mengetahui batasan panjang perintah sumber data. SQL entitas tidak memberlakukan batasan pada panjang teks perintah dalam kueri.

Lihat juga

Berlaku untuk

ObjectQuery<T>(String, ObjectContext, MergeOption)

Membuat instans baru ObjectQuery<T> menggunakan perintah Entity SQL yang ditentukan sebagai kueri awal dan opsi penggabungan yang ditentukan.

public:
 ObjectQuery(System::String ^ commandText, System::Data::Objects::ObjectContext ^ context, System::Data::Objects::MergeOption mergeOption);
public ObjectQuery (string commandText, System.Data.Objects.ObjectContext context, System.Data.Objects.MergeOption mergeOption);
new System.Data.Objects.ObjectQuery<'T> : string * System.Data.Objects.ObjectContext * System.Data.Objects.MergeOption -> System.Data.Objects.ObjectQuery<'T>
Public Sub New (commandText As String, context As ObjectContext, mergeOption As MergeOption)

Parameter

commandText
String

Kueri SQL Entitas.

context
ObjectContext

untuk ObjectContext menjalankan kueri.

mergeOption
MergeOption

Menentukan bagaimana entitas yang diambil melalui kueri ini harus digabungkan dengan entitas yang telah dikembalikan dari kueri sebelumnya terhadap yang sama ObjectContext.

Contoh

Dalam contoh ini, diinisialisasi ObjectQuery<T> dengan kueri yang ditentukan, ObjectContext, dan MergeOption.

int productID = 900;
using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString = @"SELECT VALUE product FROM
        AdventureWorksEntities.Products AS product
        WHERE product.ProductID > @productID";

    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    productQuery1.Parameters.Add(new ObjectParameter("productID", productID));

    ObjectQuery<DbDataRecord> productQuery2 =
        productQuery1.Select("it.ProductID");

    foreach (DbDataRecord result in productQuery2)
    {
        Console.WriteLine("{0}", result["ProductID"]);
    }
}

Keterangan

Saat aplikasi Anda menghasilkan kueri Entity SQL pada runtime, Anda harus mengetahui batasan panjang perintah sumber data. SQL entitas tidak memberlakukan batasan pada panjang teks perintah dalam kueri.

Berlaku untuk