Metodo ObjectContext.ExecuteStoreQueryAsync<TElement> (String, ExecutionOptions, 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. I risultati non vengono rilevati dal contesto. Usare l'overload che specifica il nome di un set di entità per rilevare i risultati. 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&lt;Post&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&lt;Post&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, _
executionOptions As ExecutionOptions, _
ParamArray parameters As Object() _
) As Task(Of ObjectResult(Of TElement))
'Utilizzo
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.
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.
- executionOptions
Tipo: System.Data.Entity.Core.Objects.ExecutionOptions
Opzioni per l'esecuzione di questa query.
- 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.