ObjectContext.ExecuteStoreQuery Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
ExecuteStoreQuery<TElement>(String, Object[]) |
Esegue una query direttamente sull'origine dati che restituisce una sequenza di risultati tipizzati. |
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[]) |
Esegue una query direttamente sull'origine dati e restituisce una sequenza di risultati tipizzati. Specificare il set di entità e l'opzione di unione in modo da poter rilevare i risultati della query come entità. |
ExecuteStoreQuery<TElement>(String, Object[])
Esegue una query direttamente sull'origine dati che restituisce una sequenza di risultati tipizzati.
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)
Parametri di tipo
- TElement
Tipo dei dati restituiti.
Parametri
- commandText
- String
Comando da eseguire, nel linguaggio nativo dell'origine dati.
- parameters
- Object[]
Matrice di parametri da passare al comando.
Restituisce
Enumerazione di oggetti di tipo TElement
.
Commenti
Il ExecuteStoreQuery metodo usa la connessione esistente per eseguire un comando arbitrario direttamente sull'origine dati. Il comando di archiviazione viene eseguito nel contesto della transazione corrente, se tale transazione esiste.
La chiamata al metodo ExecuteStoreQuery equivale alla chiamata al metodo ExecuteReader della classe DbCommand. Solo mediante il metodo ExecuteStoreQuery vengono restituite le entità mentre mediante il metodo ExecuteReader vengono restituiti i valori di proprietà dell'oggetto DbDataReader.
Chiamare con ExecuteStoreQuery il nome del set di entità specificato, se si vuole tenere traccia dei risultati.
Chiamare il Translate metodo per convertire un DbDataReader oggetto in oggetti entità quando il lettore contiene righe di dati che eseguono il mapping al tipo di entità specificato.
L'uso di comandi con parametri consente di salvaguardarsi da attacchi SQL injection, un cui un utente non autorizzato inserisce in un'istruzione SQL un comando che compromette la sicurezza del server. I comandi con parametri proteggono da un attacco SQL injection garantendo che i valori ricevuti da un'origine esterna vengano passati solo come valori e non come parte dell'istruzione SQL. Di conseguenza, i comandi SQL inseriti in un valore non vengono eseguiti nell'origine dati. Verranno invece valutati solo come un valore del parametro. Oltre ai vantaggi della sicurezza, i comandi con parametri forniscono un metodo pratico per organizzare i valori passati con un'istruzione SQL o a una stored procedure.
Il valore parameters
può essere una matrice di oggetti DbParameter o una matrice di valori dei parametri. Se vengono forniti solo valori, viene creata una matrice di DbParameter oggetti in base all'ordine dei valori nella matrice.
Per altre informazioni, vedere:
Esecuzione diretta dei comandi di archiviazione e
Procedura: eseguire comandi direttamente in un'origine dati
Si applica a
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])
Esegue una query direttamente sull'origine dati e restituisce una sequenza di risultati tipizzati. Specificare il set di entità e l'opzione di unione in modo da poter rilevare i risultati della query come entità.
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)
Parametri di tipo
- TEntity
Tipo di entità dei dati restituiti.
Parametri
- commandText
- String
Comando da eseguire, nel linguaggio nativo dell'origine dati.
- entitySetName
- String
Set di entità del tipo TEntity
. Se non viene fornito un nome del set di entità, i risultati non verranno rilevati.
- mergeOption
- MergeOption
Oggetto MergeOption da utilizzare quando viene eseguita la query. Il valore predefinito è AppendOnly.
- parameters
- Object[]
Matrice di parametri da passare al comando.
Restituisce
Enumerazione di oggetti di tipo TResult
.
Commenti
Il ExecuteStoreQuery metodo usa la connessione esistente per eseguire un comando arbitrario direttamente sull'origine dati. Il comando di archiviazione viene eseguito nel contesto della transazione corrente, se tale transazione esiste.
La chiamata al metodo ExecuteStoreQuery equivale alla chiamata al metodo ExecuteReader della classe DbCommand. Solo mediante il metodo ExecuteStoreQuery vengono restituite le entità mentre mediante il metodo ExecuteReader vengono restituiti i valori di proprietà dell'oggetto DbDataReader.
Specificare il nome del set di entità, se si vuole che i risultati vengano rilevati come entità.
Chiamare Translate il metodo per convertire un DbDataReader oggetto in oggetti entità quando il lettore contiene righe di dati che eseguono il mapping al tipo di entità specificato.
L'uso di comandi con parametri consente di salvaguardarsi da attacchi SQL injection, un cui un utente non autorizzato inserisce in un'istruzione SQL un comando che compromette la sicurezza del server. I comandi con parametri proteggono da un attacco SQL injection garantendo che i valori ricevuti da un'origine esterna vengano passati solo come valori e non come parte dell'istruzione SQL. Di conseguenza, i comandi SQL inseriti in un valore non vengono eseguiti nell'origine dati. Verranno invece valutati solo come un valore del parametro. Oltre ai vantaggi della sicurezza, i comandi con parametri forniscono un metodo pratico per organizzare i valori passati con un'istruzione SQL o a una stored procedure.
Il valore parameters
può essere una matrice di oggetti DbParameter o una matrice di valori dei parametri. Se vengono forniti solo valori, viene creata una matrice di DbParameter oggetti in base all'ordine dei valori nella matrice.
Per altre informazioni, vedere:
Esecuzione diretta dei comandi di archiviazione e
Procedura: eseguire comandi direttamente in un'origine dati
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per