ObjectQuery<T> Konstruktorer
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en ny instans av ObjectQuery<T> klassen.
Överlagringar
| Name | Description |
|---|---|
| ObjectQuery<T>(String, ObjectContext) |
Skapar en ny ObjectQuery<T> instans med det angivna entitets-SQL-kommandot som den första frågan. |
| ObjectQuery<T>(String, ObjectContext, MergeOption) |
Skapar en ny ObjectQuery<T> instans med det angivna entitets-SQL-kommandot som den första frågan och det angivna kopplingsalternativet. |
Kommentarer
En ObjectQuery<T> kan initieras på ett sådant sätt att den representerar ett enda skalärt resultat och inte en samling skalärt resultat. Vissa tilläggsmetoder kräver samlingsresultat som indata. I det här fallet utlöses en ArgumentException när en av dessa metoder anropas. Mer information finns i Objektfrågor.
När ditt program genererar ENtitets-SQL-frågor vid körning bör du vara medveten om eventuella begränsningar i kommandolängden för datakällan. Entitets-SQL tillämpar inte begränsningar för längden på kommandotexten i frågor.
ObjectQuery<T>(String, ObjectContext)
Skapar en ny ObjectQuery<T> instans med det angivna entitets-SQL-kommandot som den första frågan.
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)
Parametrar
- commandText
- String
Sql-frågan för entitet.
- context
- ObjectContext
På ObjectContext vilken frågan ska köras.
Exempel
Det här exemplet visar hur du konstruerar en instans av ObjectQuery<T> klassen.
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);
}
Kommentarer
När ditt program genererar ENtitets-SQL-frågor vid körning bör du vara medveten om eventuella begränsningar i kommandolängden för datakällan. Entitets-SQL tillämpar inte begränsningar för längden på kommandotexten i frågor.
Se även
Gäller för
ObjectQuery<T>(String, ObjectContext, MergeOption)
Skapar en ny ObjectQuery<T> instans med det angivna entitets-SQL-kommandot som den första frågan och det angivna kopplingsalternativet.
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)
Parametrar
- commandText
- String
Sql-frågan för entitet.
- context
- ObjectContext
På ObjectContext vilken frågan ska köras.
- mergeOption
- MergeOption
Anger hur de entiteter som hämtas via den här frågan ska sammanfogas med de entiteter som har returnerats från tidigare frågor mot samma ObjectContext.
Exempel
I det här exemplet ObjectQuery<T> initieras med den angivna frågan , ObjectContextoch 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"]);
}
}
Kommentarer
När ditt program genererar ENtitets-SQL-frågor vid körning bör du vara medveten om eventuella begränsningar i kommandolängden för datakällan. Entitets-SQL tillämpar inte begränsningar för längden på kommandotexten i frågor.