ObjectContext.ExecuteStoreQuery Méthode

Définition

Surcharges

Nom Description
ExecuteStoreQuery<TElement>(String, Object[])

Exécute une requête directement sur la source de données qui retourne une séquence de résultats typés.

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

Exécute une requête directement sur la source de données et retourne une séquence de résultats typés. Spécifiez le jeu d’entités et l’option de fusion afin que les résultats de la requête puissent être suivis en tant qu’entités.

ExecuteStoreQuery<TElement>(String, Object[])

Exécute une requête directement sur la source de données qui retourne une séquence de résultats typés.

public:
generic <typename TElement>
 System::Data::Objects::ObjectResult<TElement> ^ ExecuteStoreQuery(System::String ^ commandText, ... cli::array <System::Object ^> ^ parameters);
public System.Data.Objects.ObjectResult<TElement> ExecuteStoreQuery<TElement>(string commandText, params object[] parameters);
member this.ExecuteStoreQuery : string * obj[] -> System.Data.Objects.ObjectResult<'Element>
Public Function ExecuteStoreQuery(Of TElement) (commandText As String, ParamArray parameters As Object()) As ObjectResult(Of TElement)

Paramètres de type

TElement

Type des données retournées.

Paramètres

commandText
String

Commande à exécuter, dans la langue native de la source de données.

parameters
Object[]

Tableau de paramètres à passer à la commande.

Retours

ObjectResult<TElement>

Énumération d’objets de type TElement.

Remarques

La ExecuteStoreQuery méthode utilise la connexion existante pour exécuter une commande arbitraire directement sur la source de données. La commande store est exécutée dans le contexte de la transaction actuelle, si une telle transaction existe.

L’appel de la ExecuteStoreQuery méthode équivaut à appeler la ExecuteReader méthode de la DbCommand classe, retourne uniquement ExecuteStoreQuery des entités et les ExecuteReader valeurs de propriété de retour dans le DbDataReader.

Appelez le ExecuteStoreQuery nom du jeu d’entités spécifié si vous souhaitez que les résultats soient suivis.

Appelez la Translate méthode pour traduire un DbDataReader objet d’entité lorsque le lecteur contient des lignes de données qui correspondent au type d’entité spécifié.

L'utilisation des commandes paramétrées aide à se protéger des attaques par injection de code SQL, dans lesquelles un attaquant « injecte » une commande dans une instruction SQL qui compromet la sécurité sur le serveur. Les commandes paramétrables protègent contre une attaque par injection SQL en garantissant que les valeurs reçues d’une source externe sont transmises uniquement en tant que valeurs et non dans l’instruction SQL. Par conséquent, les commandes SQL insérées dans une valeur ne sont pas exécutées à la source de données. Au lieu de cela, elles sont évaluées uniquement en tant que valeur de paramètre. Outre les avantages de sécurité, les commandes paramétrables fournissent une méthode pratique pour organiser les valeurs passées avec une instruction SQL ou une procédure stockée.

La parameters valeur peut être un tableau d’objets DbParameter ou un tableau de valeurs de paramètre. Si seules les valeurs sont fournies, un tableau d’objets DbParameter est créé en fonction de l’ordre des valeurs dans le tableau.

S’applique à

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

Exécute une requête directement sur la source de données et retourne une séquence de résultats typés. Spécifiez le jeu d’entités et l’option de fusion afin que les résultats de la requête puissent être suivis en tant qu’entités.

public:
generic <typename TEntity>
 System::Data::Objects::ObjectResult<TEntity> ^ ExecuteStoreQuery(System::String ^ commandText, System::String ^ entitySetName, System::Data::Objects::MergeOption mergeOption, ... cli::array <System::Object ^> ^ parameters);
public System.Data.Objects.ObjectResult<TEntity> ExecuteStoreQuery<TEntity>(string commandText, string entitySetName, System.Data.Objects.MergeOption mergeOption, params object[] parameters);
member this.ExecuteStoreQuery : string * string * System.Data.Objects.MergeOption * obj[] -> System.Data.Objects.ObjectResult<'Entity>
Public Function ExecuteStoreQuery(Of TEntity) (commandText As String, entitySetName As String, mergeOption As MergeOption, ParamArray parameters As Object()) As ObjectResult(Of TEntity)

Paramètres de type

TEntity

Type d’entité des données retournées.

Paramètres

commandText
String

Commande à exécuter, dans la langue native de la source de données.

entitySetName
String

Jeu d’entités du TEntity type. Si un nom d’ensemble d’entités n’est pas fourni, les résultats ne seront pas suivis.

mergeOption
MergeOption

À MergeOption utiliser lors de l’exécution de la requête. La valeur par défaut est AppendOnly.

parameters
Object[]

Tableau de paramètres à passer à la commande.

Retours

ObjectResult<TEntity>

Énumération d’objets de type TResult.

Remarques

La ExecuteStoreQuery méthode utilise la connexion existante pour exécuter une commande arbitraire directement sur la source de données. La commande store est exécutée dans le contexte de la transaction actuelle, si une telle transaction existe.

L’appel de la ExecuteStoreQuery méthode équivaut à appeler la ExecuteReader méthode de la DbCommand classe, retourne uniquement ExecuteStoreQuery des entités et les ExecuteReader valeurs de propriété de retour dans le DbDataReader.

Spécifiez le nom du jeu d’entités, si vous souhaitez que les résultats soient suivis en tant qu’entités.

Appelez Translate la méthode pour convertir un DbDataReader objet d’entité en objets d’entité lorsque le lecteur contient des lignes de données qui correspondent au type d’entité spécifié.

L'utilisation des commandes paramétrées aide à se protéger des attaques par injection de code SQL, dans lesquelles un attaquant « injecte » une commande dans une instruction SQL qui compromet la sécurité sur le serveur. Les commandes paramétrables protègent contre une attaque par injection SQL en garantissant que les valeurs reçues d’une source externe sont transmises uniquement en tant que valeurs et non dans l’instruction SQL. Par conséquent, les commandes SQL insérées dans une valeur ne sont pas exécutées à la source de données. Au lieu de cela, elles sont évaluées uniquement en tant que valeur de paramètre. Outre les avantages de sécurité, les commandes paramétrables fournissent une méthode pratique pour organiser les valeurs passées avec une instruction SQL ou une procédure stockée.

La parameters valeur peut être un tableau d’objets DbParameter ou un tableau de valeurs de paramètre. Si seules les valeurs sont fournies, un tableau d’objets DbParameter est créé en fonction de l’ordre des valeurs dans le tableau.

S’applique à