ObjectQuery<T> Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy ObjectQuery<T>.
Przeciążenia
ObjectQuery<T>(String, ObjectContext) |
Tworzy nowe ObjectQuery<T> wystąpienie przy użyciu określonego polecenia Entity SQL jako początkowego zapytania. |
ObjectQuery<T>(String, ObjectContext, MergeOption) |
Tworzy nowe ObjectQuery<T> wystąpienie przy użyciu określonego polecenia Entity SQL jako początkowego zapytania i określonej opcji scalania. |
Uwagi
Element ObjectQuery<T> można zainicjować w taki sposób, że reprezentuje pojedynczy wynik skalarny, a nie kolekcję wyników skalarnych. Niektóre metody rozszerzenia wymagają wyników kolekcji jako danych wejściowych. W tym przypadku element jest zgłaszany, ArgumentException gdy jest wywoływana jedna z tych metod. Aby uzyskać więcej informacji, zobacz Zapytania dotyczące obiektów.
Gdy aplikacja generuje zapytania Entity SQL w czasie wykonywania, należy pamiętać o wszelkich ograniczeniach długości poleceń źródła danych. Jednostka SQL nie wymusza ograniczeń dotyczących długości tekstu polecenia w zapytaniach.
ObjectQuery<T>(String, ObjectContext)
Tworzy nowe ObjectQuery<T> wystąpienie przy użyciu określonego polecenia Entity SQL jako początkowego zapytania.
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)
Parametry
- commandText
- String
Zapytanie Entity SQL.
- context
- ObjectContext
Element ObjectContext , na którym ma zostać wykonane zapytanie.
Przykłady
W tym przykładzie pokazano, jak utworzyć wystąpienie ObjectQuery<T> klasy .
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);
}
Uwagi
Gdy aplikacja generuje zapytania Entity SQL w czasie wykonywania, należy pamiętać o wszelkich ograniczeniach długości poleceń źródła danych. Jednostka SQL nie wymusza ograniczeń dotyczących długości tekstu polecenia w zapytaniach.
Zobacz też
Dotyczy
ObjectQuery<T>(String, ObjectContext, MergeOption)
Tworzy nowe ObjectQuery<T> wystąpienie przy użyciu określonego polecenia Entity SQL jako początkowego zapytania i określonej opcji scalania.
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)
Parametry
- commandText
- String
Zapytanie Entity SQL.
- context
- ObjectContext
Element ObjectContext , na którym ma zostać wykonane zapytanie.
- mergeOption
- MergeOption
Określa sposób scalania jednostek pobieranych za pośrednictwem tego zapytania z jednostkami zwróconymi z poprzednich zapytań względem tego samego ObjectContextobiektu .
Przykłady
W tym przykładzie element ObjectQuery<T> jest inicjowany przy użyciu określonego zapytania , ObjectContexti 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"]);
}
}
Uwagi
Gdy aplikacja generuje zapytania Entity SQL w czasie wykonywania, należy pamiętać o wszelkich ograniczeniach długości poleceń źródła danych. Jednostka SQL nie wymusza ograniczeń dotyczących długości tekstu polecenia w zapytaniach.