ObjectQuery<T> Oluşturucular
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.
ObjectQuery<T> sınıfının yeni bir örneğini başlatır.
Aşırı Yüklemeler
ObjectQuery<T>(String, ObjectContext) |
Belirtilen Entity SQL komutunu ilk sorgu olarak kullanarak yeni ObjectQuery<T> bir örnek oluşturur. |
ObjectQuery<T>(String, ObjectContext, MergeOption) |
İlk sorgu ve belirtilen birleştirme seçeneği olarak belirtilen Entity SQL komutunu kullanarak yeni ObjectQuery<T> bir örnek oluşturur. |
Açıklamalar
bir ObjectQuery<T> , bir skaler sonuç koleksiyonunu değil, tek bir skaler sonucu temsil eden şekilde başlatılabilir. Bazı uzantı yöntemleri giriş olarak koleksiyon sonuçları gerektirir. Bu durumda, bu yöntemlerden biri çağrıldığında bir ArgumentException oluşturulur. Daha fazla bilgi için bkz . Nesne Sorguları.
Uygulamanız çalışma zamanında Entity SQL sorguları oluşturduğunda, veri kaynağının komut uzunluğu sınırlamalarını bilmeniz gerekir. Entity SQL, sorgulardaki komut metninin uzunluğuyla ilgili sınırlamaları zorlamaz.
ObjectQuery<T>(String, ObjectContext)
Belirtilen Entity SQL komutunu ilk sorgu olarak kullanarak yeni ObjectQuery<T> bir örnek oluşturur.
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)
Parametreler
- commandText
- String
Entity SQL sorgusu.
- context
- ObjectContext
Sorgunun ObjectContext yürütülecek olduğu yer.
Örnekler
Bu örnekte, sınıfının bir örneğinin nasıl oluşturacakları gösterilmektedir ObjectQuery<T> .
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);
}
Açıklamalar
Uygulamanız çalışma zamanında Entity SQL sorguları oluşturduğunda, veri kaynağının komut uzunluğu sınırlamalarını bilmeniz gerekir. Entity SQL, sorgulardaki komut metninin uzunluğuyla ilgili sınırlamaları zorlamaz.
Ayrıca bkz.
Şunlara uygulanır
ObjectQuery<T>(String, ObjectContext, MergeOption)
İlk sorgu ve belirtilen birleştirme seçeneği olarak belirtilen Entity SQL komutunu kullanarak yeni ObjectQuery<T> bir örnek oluşturur.
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)
Parametreler
- commandText
- String
Entity SQL sorgusu.
- context
- ObjectContext
Sorgunun ObjectContext yürütülecek olduğu yer.
- mergeOption
- MergeOption
Bu sorgu aracılığıyla alınan varlıkların aynı ObjectContextsorguya karşı önceki sorgulardan döndürülen varlıklarla nasıl birleştirileceği belirtir.
Örnekler
Bu örnekte, ObjectQuery<T> belirtilen sorgu ObjectContext, ve MergeOptionile başlatılır.
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"]);
}
}
Açıklamalar
Uygulamanız çalışma zamanında Entity SQL sorguları oluşturduğunda, veri kaynağının komut uzunluğu sınırlamalarını bilmeniz gerekir. Entity SQL, sorgulardaki komut metninin uzunluğuyla ilgili sınırlamaları zorlamaz.