Condividi tramite


Metodo ObjectContext.ExecuteStoreQueryAsync<TElement> (String, String, ExecutionOptions, CancellationToken, Object[])

[Questa pagina è specifica della versione 6 di Entity Framework. La versione più recente è disponibile come pacchetto NuGet per "Entity Framework". Per ulteriori informazioni su Entity Framework, vedere la pagina msdn.com/data/ef.]

Esegue in modo asincrono una query direttamente sull'origine dati e restituisce una sequenza di risultati tipizzati. La query viene specificata usando il linguaggio di query nativo del server, ad esempio SQL. Se non viene specificato il nome di un set di entità, i risultati vengono rilevati dal contesto. Come con qualsiasi API che accetta SQL, è importante parametrizzare un input utente in modo da fornire protezione da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi fornire i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri forniti verranno convertiti automaticamente in DbParameter. context.ExecuteStoreQueryAsync&amp;lt;Post&amp;gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); in alternativa, è anche possibile costruire un oggetto DbParameter e fornirlo a SqlQuery. In questo modo è possibile usare i parametri denominati nella stringa di query SQL. context.ExecuteStoreQueryAsync&amp;lt;Post&amp;gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Spazio dei nomi:  System.Data.Entity.Core.Objects
Assembly:  EntityFramework (in EntityFramework.dll)

Sintassi

'Dichiarazione
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
Public Overridable Function ExecuteStoreQueryAsync(Of TElement) ( _
    commandText As String, _
    entitySetName As String, _
    executionOptions As ExecutionOptions, _
    cancellationToken As CancellationToken, _
    ParamArray parameters As Object() _
) As Task(Of ObjectResult(Of TElement))
'Utilizzo
Dim instance As ObjectContext 
Dim commandText As String 
Dim entitySetName As String 
Dim executionOptions As ExecutionOptions 
Dim cancellationToken As CancellationToken 
Dim parameters As Object()
Dim returnValue As Task(Of ObjectResult(Of TElement))

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

Parametri di tipo

  • TElement
    Tipo di elemento della sequenza di risultati.

Parametri

  • commandText
    Tipo: System.String
    Query specificata nel linguaggio di query nativo del server.
  • entitySetName
    Tipo: System.String
    Set di entità di tipo TResult. Se non viene fornito il nome di un set di entità, i risultati non verranno rilevati.
  • parameters
    Tipo: System.Object[]
    Valori dei parametri da usare per la query. Se si usano parametri di output, i relativi valori non saranno disponibili fino alla lettura completa dei risultati. Questo è dovuto al comportamento sottostante di DbDataReader. Per altre informazioni, vedi https://go.microsoft.com/fwlink/?LinkID=398589.

Valore restituito

Tipo: System.Threading.Tasks.Task<ObjectResult<TElement>>
Attività che rappresenta l'operazione asincrona.Il risultato dell'attività contiene un'enumerazione di oggetti di tipo TElement.

Note

Non è consentito eseguire più operazioni attive nella stessa istanza di contesto. Usare 'await' per assicurarsi che eventuali operazioni asincrone vengano completate prima di chiamare un altro metodo su questo contesto.

Vedere anche

Riferimento

ObjectContext Classe

Overload ExecuteStoreQueryAsync

Spazio dei nomi System.Data.Entity.Core.Objects