ObjectQuery<T> Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci ObjectQuery<T> třídy.
Přetížení
ObjectQuery<T>(String, ObjectContext) |
Vytvoří novou ObjectQuery<T> instanci pomocí zadaného příkazu Entity SQL jako počátečního dotazu. |
ObjectQuery<T>(String, ObjectContext, MergeOption) |
Vytvoří novou ObjectQuery<T> instanci pomocí zadaného příkazu Entity SQL jako počátečního dotazu a zadané možnosti sloučení. |
Poznámky
Objekt ObjectQuery<T> lze inicializovat tak, aby představoval jeden skalární výsledek, a ne kolekci skalárních výsledků. Některé rozšiřující metody vyžadují jako vstup výsledky shromažďování. V tomto případě ArgumentException je vyvolána při zavolání jedné z těchto metod. Další informace najdete v tématu Dotazy na objekty.
Když vaše aplikace generuje dotazy Entity SQL za běhu, měli byste mít na paměti všechna omezení délky příkazů zdroje dat. Entity SQL nevynucuje omezení délky textu příkazu v dotazech.
ObjectQuery<T>(String, ObjectContext)
Vytvoří novou ObjectQuery<T> instanci pomocí zadaného příkazu Entity SQL jako počátečního dotazu.
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
Dotaz Entity SQL
- context
- ObjectContext
Parametr ObjectContext , na kterém se má dotaz spustit.
Příklady
Tento příklad ukazuje, jak vytvořit instanci ObjectQuery<T> třídy.
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);
}
Poznámky
Když vaše aplikace generuje dotazy Entity SQL za běhu, měli byste mít na paměti všechna omezení délky příkazů zdroje dat. Entity SQL nevynucuje omezení délky textu příkazu v dotazech.
Viz také
Platí pro
ObjectQuery<T>(String, ObjectContext, MergeOption)
Vytvoří novou ObjectQuery<T> instanci pomocí zadaného příkazu Entity SQL jako počátečního dotazu a zadané možnosti sloučení.
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
Dotaz Entity SQL
- context
- ObjectContext
Parametr ObjectContext , na kterém se má dotaz spustit.
- mergeOption
- MergeOption
Určuje, jak mají být entity načtené prostřednictvím tohoto dotazu sloučeny s entitami, které byly vráceny z předchozích dotazů proti stejnému ObjectContextdotazu .
Příklady
V tomto příkladu ObjectQuery<T> se inicializuje pomocí zadaného dotazu ObjectContext, a 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"]);
}
}
Poznámky
Když vaše aplikace generuje dotazy Entity SQL za běhu, měli byste mít na paměti všechna omezení délky příkazů zdroje dat. Entity SQL nevynucuje omezení délky textu příkazu v dotazech.