ObjectQuery<T> Constructeurs
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise une nouvelle instance de la classe ObjectQuery<T>.
Surcharges
| Nom | Description |
|---|---|
| ObjectQuery<T>(String, ObjectContext) |
Crée une ObjectQuery<T> instance à l’aide de la commande Entity SQL spécifiée comme requête initiale. |
| ObjectQuery<T>(String, ObjectContext, MergeOption) |
Crée une ObjectQuery<T> instance à l’aide de la commande Entity SQL spécifiée en tant que requête initiale et option de fusion spécifiée. |
Remarques
Un ObjectQuery<T> peut être initialisé de telle sorte qu’il représente un résultat scalaire unique et non une collection de résultats scalaires. Certaines méthodes d’extension nécessitent des résultats de collection en tant qu’entrée. Dans ce cas, une ArgumentException exception est levée lorsque l’une de ces méthodes est appelée. Pour plus d’informations, consultez Requêtes d’objet.
Lorsque votre application génère des requêtes Entity SQL au moment de l’exécution, vous devez connaître les limitations de longueur de commande de la source de données. Entity SQL n’applique pas de limitations sur la longueur du texte de commande dans les requêtes.
ObjectQuery<T>(String, ObjectContext)
Crée une ObjectQuery<T> instance à l’aide de la commande Entity SQL spécifiée comme requête initiale.
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)
Paramètres
- commandText
- String
Requête Entity SQL.
- context
- ObjectContext
ObjectContext Sur lequel exécuter la requête.
Exemples
Cet exemple montre comment construire une instance de la ObjectQuery<T> classe.
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);
}
Remarques
Lorsque votre application génère des requêtes Entity SQL au moment de l’exécution, vous devez connaître les limitations de longueur de commande de la source de données. Entity SQL n’applique pas de limitations sur la longueur du texte de commande dans les requêtes.
Voir aussi
S’applique à
ObjectQuery<T>(String, ObjectContext, MergeOption)
Crée une ObjectQuery<T> instance à l’aide de la commande Entity SQL spécifiée en tant que requête initiale et option de fusion spécifiée.
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)
Paramètres
- commandText
- String
Requête Entity SQL.
- context
- ObjectContext
ObjectContext Sur lequel exécuter la requête.
- mergeOption
- MergeOption
Spécifie la façon dont les entités récupérées par le biais de cette requête doivent être fusionnées avec les entités qui ont été retournées à partir de requêtes précédentes par rapport au même ObjectContext.
Exemples
Dans cet exemple, l’initialisation ObjectQuery<T> est initialisée avec la requête spécifiée, ObjectContextet 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"]);
}
}
Remarques
Lorsque votre application génère des requêtes Entity SQL au moment de l’exécution, vous devez connaître les limitations de longueur de commande de la source de données. Entity SQL n’applique pas de limitations sur la longueur du texte de commande dans les requêtes.