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í
| Name | Description |
|---|---|
| ObjectQuery<T>(String, ObjectContext) |
Vytvoří novou ObjectQuery<T> instanci pomocí zadaného příkazu Entity SQL jako počáteční dotaz. |
| 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
Inicializovat ObjectQuery<T> lze tak, aby představoval jeden skalární výsledek, a ne kolekci skalárních výsledků. Některé metody rozšíření vyžadují jako vstup výsledky kolekce. V tomto případě je vyvolána, ArgumentException když je volána jedna z těchto metod. Další informace naleznete v tématu Dotazy na objekty.
Když vaše aplikace generuje dotazy Entity SQL za běhu, měli byste vědět o jakýchkoli omezeních 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í dotaz.
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
Na ObjectContext 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 vědět o jakýchkoli omezeních 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
Na ObjectContext 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ů na stejné ObjectContext.
Příklady
V tomto příkladu ObjectQuery<T> se inicializuje pomocí zadaného dotazu ObjectContexta 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 vědět o jakýchkoli omezeních délky příkazů zdroje dat. Entity SQL nevynucuje omezení délky textu příkazu v dotazech.