Share via


ObjectContext.ExecuteStoreQueryAsync<TElement>, méthode (String, ExecutionOptions, Object[])

[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]

Exécute de façon asynchrone une requête directement sur la source de données et retourne une séquence de résultats typés. La requête est spécifiée à l'aide du langage de requête natif du serveur, par exemple SQL. Les résultats ne sont pas suivis par le contexte ; utilisez la surcharge qui spécifie un nom de jeu d'entités pour suivre les résultats. Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL. Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires. Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter. context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery. Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL. context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Espace de noms :  System.Data.Entity.Core.Objects
Assembly :  EntityFramework (dans EntityFramework.dll)

Syntaxe

'Déclaration
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
Public Overridable Function ExecuteStoreQueryAsync(Of TElement) ( _
    commandText As String, _
    executionOptions As ExecutionOptions, _
    ParamArray parameters As Object() _
) As Task(Of ObjectResult(Of TElement))
'Utilisation
Dim instance As ObjectContext 
Dim commandText As String 
Dim executionOptions As ExecutionOptions 
Dim parameters As Object()
Dim returnValue As Task(Of ObjectResult(Of TElement))

returnValue = instance.ExecuteStoreQueryAsync(commandText, _
    executionOptions, parameters)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public virtual Task<ObjectResult<TElement>> ExecuteStoreQueryAsync<TElement>(
    string commandText,
    ExecutionOptions executionOptions,
    params Object[] parameters
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
public:
generic<typename TElement>
virtual Task<ObjectResult<TElement>^>^ ExecuteStoreQueryAsync(
    String^ commandText, 
    ExecutionOptions^ executionOptions, 
    ... array<Object^>^ parameters
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
abstract ExecuteStoreQueryAsync : 
        commandText:string * 
        executionOptions:ExecutionOptions * 
        parameters:Object[] -> Task<ObjectResult<'TElement>> 
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
override ExecuteStoreQueryAsync : 
        commandText:string * 
        executionOptions:ExecutionOptions * 
        parameters:Object[] -> Task<ObjectResult<'TElement>> 
JScript does not support generic types and methods.

Paramètres de type

  • TElement
    Type d'élément de la séquence de résultats.

Paramètres

  • commandText
    Type : System.String
    La requête est spécifiée à l'aide du langage de requête natif du serveur.
  • parameters
    Type : System.Object[]
    Valeurs de paramètre à utiliser pour la requête. Si des paramètres de sortie sont utilisés, leurs valeurs ne seront disponibles qu'après lecture complète des résultats. Cela est dû au comportement sous-jacent de DbDataReader. Pour plus d'informations, consultez https://go.microsoft.com/fwlink/?LinkID=398589.

Valeur de retour

Type : System.Threading.Tasks.Task<ObjectResult<TElement>>
Tâche qui représente l'opération asynchrone.Le résultat de la tâche contient une énumération des objets de type TElement.

Notes

Plusieurs opérations actives sur la même instance de contexte ne sont pas prises en charge. Utilisez « await » pour garantir que toutes les opérations asynchrones sont terminées avant d'appeler une autre méthode dans ce contexte.

Voir aussi

Référence

ObjectContext Classe

Surcharge ExecuteStoreQueryAsync

Espace de noms System.Data.Entity.Core.Objects