ObjectQuery<T> Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der ObjectQuery<T>-Klasse.
Überlädt
ObjectQuery<T>(String, ObjectContext) |
Erstellt eine neue ObjectQuery<T> Instanz mithilfe des angegebenen Entity SQL-Befehls als erste Abfrage. |
ObjectQuery<T>(String, ObjectContext, MergeOption) |
Erstellt eine neue ObjectQuery<T> Instanz mit dem angegebenen Entity SQL-Befehl als anfänglicher Abfrage und der angegebenen Mergeoption. |
Hinweise
Eine ObjectQuery<T> kann in solcher Weise initialisiert werden, dass sie ein einzelnes skalares Ergebnis und keine Auflistung von skalaren Ergebnissen darstellt. Einige Erweiterungsmethoden erfordern Auflistungsergebnisse als Eingabe. In diesem Fall wird eine ArgumentException ausgelöst, wenn eine dieser Methoden aufgerufen wird. Weitere Informationen finden Sie unter Objektabfragen.
Wenn Ihre Anwendung Entity SQL-Abfragen zur Laufzeit generiert, sollten Sie alle Einschränkungen der Befehlslänge der Datenquelle beachten. Entity SQL erzwingt keine Einschränkungen für die Länge des Befehlstexts in Abfragen.
ObjectQuery<T>(String, ObjectContext)
Erstellt eine neue ObjectQuery<T> Instanz mithilfe des angegebenen Entity SQL-Befehls als erste Abfrage.
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)
Parameter
- commandText
- String
Die Entity SQL-Abfrage.
- context
- ObjectContext
Der ObjectContext, für den die Abfrage ausgeführt werden soll.
Beispiele
In diesem Beispiel wird gezeigt, wie eine Instanz der ObjectQuery<T> -Klasse erstellt wird.
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);
}
Hinweise
Wenn Ihre Anwendung Entity SQL-Abfragen zur Laufzeit generiert, sollten Sie alle Einschränkungen der Befehlslänge der Datenquelle beachten. Entity SQL erzwingt keine Einschränkungen für die Länge des Befehlstexts in Abfragen.
Weitere Informationen
Gilt für:
ObjectQuery<T>(String, ObjectContext, MergeOption)
Erstellt eine neue ObjectQuery<T> Instanz mit dem angegebenen Entity SQL-Befehl als anfänglicher Abfrage und der angegebenen Mergeoption.
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)
Parameter
- commandText
- String
Die Entity SQL-Abfrage.
- context
- ObjectContext
Der ObjectContext, für den die Abfrage ausgeführt werden soll.
- mergeOption
- MergeOption
Gibt an, wie die Entitäten, die mit dieser Abfrage abgerufen werden, mit den Entitäten zusammengeführt werden sollen, die von vorherigen Abfragen für denselben ObjectContext zurückgegeben wurden.
Beispiele
In diesem Beispiel wird der ObjectQuery<T> mit der angegebenen Abfrage, ObjectContextund MergeOptioninitialisiert.
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"]);
}
}
Hinweise
Wenn Ihre Anwendung Entity SQL-Abfragen zur Laufzeit generiert, sollten Sie alle Einschränkungen der Befehlslänge der Datenquelle beachten. Entity SQL erzwingt keine Einschränkungen für die Länge des Befehlstexts in Abfragen.