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
| Nome | Descrizione |
|---|---|
| ExecuteStoreQuery<TElement>(String, Object[]) |
Esegue una query direttamente sull'origine dati che restituisce una sequenza di risultati tipizzato. |
| ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[]) |
Esegue una query direttamente sull'origine dati e restituisce una sequenza di risultati tipizzato. Specificare il set di entità e l'opzione di unione in modo che i risultati della query possano essere rilevati come entità. |
ExecuteStoreQuery<TElement>(String, Object[])
Esegue una query direttamente sull'origine dati che restituisce una sequenza di risultati tipizzato.
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, nella lingua nativa dell'origine dati.
- parameters
- Object[]
Matrice di parametri da passare al comando.
Valori restituiti
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 store viene eseguito nel contesto della transazione corrente, se tale transazione esiste.
La chiamata al ExecuteStoreQuery metodo equivale a chiamare il ExecuteReader metodo della DbCommand classe , restituisce solo ExecuteStoreQuery entità e restituisce ExecuteReader i valori della DbDataReaderproprietà in .
Chiamare con ExecuteStoreQuery il nome del set di entità specificato, se si desidera che i risultati vengano rilevati.
Chiamare il Translate metodo per convertire un oggetto DbDataReader 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 sorvegliano 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. Vengono invece valutati solo come valore di 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 parameters valore può essere una matrice di DbParameter oggetti o una matrice di valori di parametro. Se vengono forniti solo valori, viene creata una matrice di DbParameter oggetti in base all'ordine dei valori nella matrice.
Si applica a
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])
Esegue una query direttamente sull'origine dati e restituisce una sequenza di risultati tipizzato. Specificare il set di entità e l'opzione di unione in modo che i risultati della query possano essere rilevati 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, nella lingua nativa dell'origine dati.
- entitySetName
- String
Set di entità del TEntity tipo. Se non viene specificato un nome di set di entità, i risultati non verranno rilevati.
- mergeOption
- MergeOption
Oggetto MergeOption da utilizzare durante l'esecuzione della query. Il valore predefinito è AppendOnly.
- parameters
- Object[]
Matrice di parametri da passare al comando.
Valori restituiti
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 store viene eseguito nel contesto della transazione corrente, se tale transazione esiste.
La chiamata al ExecuteStoreQuery metodo equivale a chiamare il ExecuteReader metodo della DbCommand classe , restituisce solo ExecuteStoreQuery entità e restituisce ExecuteReader i valori della DbDataReaderproprietà in .
Specificare il nome del set di entità, se si vuole che i risultati vengano rilevati come entità.
Chiamare Translate il metodo per convertire un oggetto DbDataReader in oggetti entità quando il lettore contiene righe di dati mappate 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 sorvegliano 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. Vengono invece valutati solo come valore di 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 parameters valore può essere una matrice di DbParameter oggetti o una matrice di valori di parametro. Se vengono forniti solo valori, viene creata una matrice di DbParameter oggetti in base all'ordine dei valori nella matrice.