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
| Name | Beschreibung |
|---|---|
| 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 erste Abfrage und der angegebenen Seriendruckoption. |
Hinweise
Eine ObjectQuery<T> kann so initialisiert werden, dass sie ein einzelnes skalares Ergebnis und keine Sammlung von Skalarergebnissen darstellt. Einige Erweiterungsmethoden erfordern Sammlungsergebnisse als Eingabe. In diesem Fall wird ein ArgumentException Fehler ausgelöst, wenn eine dieser Methoden aufgerufen wird. Weitere Informationen finden Sie unter Objektabfragen.
Wenn Ihre Anwendung Entitäts-SQL-Abfragen zur Laufzeit generiert, sollten Sie alle Einschränkungen der Befehlslänge der Datenquelle beachten. Entitäts-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 Entitäts-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 Entitäts-SQL-Abfragen zur Laufzeit generiert, sollten Sie alle Einschränkungen der Befehlslänge der Datenquelle beachten. Entitäts-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 erste Abfrage und der angegebenen Seriendruckoption.
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 Entitäts-SQL-Abfrage.
- context
- ObjectContext
Der ObjectContext , für den die Abfrage ausgeführt werden soll.
- mergeOption
- MergeOption
Gibt an, wie die Entitäten, die über diese Abfrage abgerufen werden, mit den Entitäten zusammengeführt werden sollen, die aus vorherigen Abfragen zurückgegeben ObjectContextwurden.
Beispiele
In diesem Beispiel wird die ObjectQuery<T> Initialisierung mit der angegebenen Abfrage, ObjectContextund 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"]);
}
}
Hinweise
Wenn Ihre Anwendung Entitäts-SQL-Abfragen zur Laufzeit generiert, sollten Sie alle Einschränkungen der Befehlslänge der Datenquelle beachten. Entitäts-SQL erzwingt keine Einschränkungen für die Länge des Befehlstexts in Abfragen.