ObjectContext.ExecuteStoreQuery Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| ExecuteStoreQuery<TElement>(String, Object[]) |
Executa uma consulta diretamente na fonte de dados que devolve uma sequência de resultados tipados. |
| ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[]) |
Executa uma consulta diretamente na fonte de dados e retorna uma sequência de resultados tipados. Especifique o conjunto de entidades e a opção de fusão para que os resultados da consulta possam ser acompanhados como entidades. |
ExecuteStoreQuery<TElement>(String, Object[])
Executa uma consulta diretamente na fonte de dados que devolve uma sequência de resultados tipados.
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)
Parâmetros de Tipo Genérico
- TElement
O tipo dos dados devolvidos.
Parâmetros
- commandText
- String
O comando para executar, na língua nativa da fonte de dados.
- parameters
- Object[]
Um conjunto de parâmetros para passar ao comando.
Devoluções
Uma enumeração de objetos do tipo TElement.
Observações
O ExecuteStoreQuery método utiliza a ligação existente para executar um comando arbitrário diretamente contra a fonte de dados. O comando store é executado no contexto da transação atual, caso tal transação exista.
Chamar o ExecuteStoreQuery método é equivalente a chamar o ExecuteReader método da DbCommand classe, apenas ExecuteStoreQuery devolve entidades e o ExecuteReader retorna valores de propriedades no DbDataReader.
Ligue para o ExecuteStoreQuery conjunto com o nome de entidade especificado, se quiser que os resultados sejam acompanhados.
Chame o Translate método para traduzir a DbDataReader em objetos entidade quando o leitor contém linhas de dados que correspondem ao tipo de entidade especificado.
O uso de comandos parametrizados ajuda a proteger contra ataques de injeção de SQL, nos quais um invasor "injeta" um comando em uma instrução SQL que compromete a segurança no servidor. Comandos parametrizados protegem contra ataques de injeção SQL ao garantir que os valores recebidos de uma fonte externa sejam passados apenas como valores, e não como parte da instrução SQL. Como resultado, os comandos SQL inseridos num valor não são executados na fonte de dados. Em vez disso, são avaliados apenas como valor de parâmetro. Para além dos benefícios de segurança, comandos parametrizados fornecem um método conveniente para organizar valores passados com uma instrução SQL ou para um procedimento armazenado.
O parameters valor pode ser um array de DbParameter objetos ou um array de valores de parâmetros. Se forem fornecidos apenas valores, cria-se um array de DbParameter objetos com base na ordem dos valores no array.
Para obter mais informações, consulte:
Executar diretamente comandos de armazenamento e
Como: executar comandos diretamente contra a fonte de dados
Aplica-se a
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])
Executa uma consulta diretamente na fonte de dados e retorna uma sequência de resultados tipados. Especifique o conjunto de entidades e a opção de fusão para que os resultados da consulta possam ser acompanhados como entidades.
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)
Parâmetros de Tipo Genérico
- TEntity
O tipo de entidade dos dados devolvidos.
Parâmetros
- commandText
- String
O comando para executar, na língua nativa da fonte de dados.
- entitySetName
- String
O conjunto de entidades do TEntity tipo. Se não for fornecido um nome de conjunto de entidade, os resultados não serão acompanhados.
- mergeOption
- MergeOption
A MergeOption usar ao executar a consulta. A predefinição é AppendOnly.
- parameters
- Object[]
Um conjunto de parâmetros para passar ao comando.
Devoluções
Uma enumeração de objetos do tipo TResult.
Observações
O ExecuteStoreQuery método utiliza a ligação existente para executar um comando arbitrário diretamente contra a fonte de dados. O comando store é executado no contexto da transação atual, caso tal transação exista.
Chamar o ExecuteStoreQuery método é equivalente a chamar o ExecuteReader método da DbCommand classe, apenas ExecuteStoreQuery devolve entidades e o ExecuteReader retorna valores de propriedades no DbDataReader.
Especifique o nome do conjunto de entidades, se quiser que os resultados sejam acompanhados como entidades.
Método de chamada Translate para traduzir a DbDataReader em objetos entidade quando o leitor contém linhas de dados que correspondem ao tipo de entidade especificado.
O uso de comandos parametrizados ajuda a proteger contra ataques de injeção de SQL, nos quais um invasor "injeta" um comando em uma instrução SQL que compromete a segurança no servidor. Comandos parametrizados protegem contra ataques de injeção SQL ao garantir que os valores recebidos de uma fonte externa sejam passados apenas como valores, e não como parte da instrução SQL. Como resultado, os comandos SQL inseridos num valor não são executados na fonte de dados. Em vez disso, são avaliados apenas como valor de parâmetro. Para além dos benefícios de segurança, comandos parametrizados fornecem um método conveniente para organizar valores passados com uma instrução SQL ou para um procedimento armazenado.
O parameters valor pode ser um array de DbParameter objetos ou um array de valores de parâmetros. Se forem fornecidos apenas valores, cria-se um array de DbParameter objetos com base na ordem dos valores no array.
Para obter mais informações, consulte:
Executar diretamente comandos de armazenamento e
Como: executar comandos diretamente contra a fonte de dados