Partilhar via


ObjectContext.ExecuteStoreQuery Método

Definição

Sobrecargas

ExecuteStoreQuery<TElement>(String, Object[])

Executa uma consulta diretamente na fonte de dados que retorna uma sequência de resultados digitados.

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

Executa uma consulta diretamente na fonte de dados e retorna uma sequência de resultados digitados. Especifique o conjunto de entidades e a opção de mesclagem para que os resultados da consulta possam ser controlados como entidades.

ExecuteStoreQuery<TElement>(String, Object[])

Executa uma consulta diretamente na fonte de dados que retorna uma sequência de resultados digitados.

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

TElement

O tipo dos dados retornados.

Parâmetros

commandText
String

O comando a ser executado, na linguagem nativa da fonte de dados.

parameters
Object[]

Uma matriz de parâmetros a serem passados para o comando.

Retornos

ObjectResult<TElement>

Uma enumeração de objetos do tipo TElement.

Comentários

O ExecuteStoreQuery método usa a conexão existente para executar um comando arbitrário diretamente na fonte de dados. O comando store será executado no contexto da transação atual, se essa transação existir.

Chamar o ExecuteStoreQuery método é equivalente a chamar o ExecuteReader método da DbCommand classe , retorna apenas ExecuteStoreQuery entidades e retorna ExecuteReader valores de propriedade no DbDataReader.

Chame o ExecuteStoreQuery com o nome do conjunto de entidades especificado, se desejar que os resultados sejam rastreados.

Chame o Translate método para converter um DbDataReader em objetos de entidade quando o leitor contiver linhas de dados mapeadas para o tipo de entidade especificado.

O uso de comandos parametrizados ajuda a proteger você contra ataques de injeção de SQL, nos quais um invasor "injeta" um comando em uma instrução SQL que compromete a segurança do servidor. Os comandos parametrizados se protege contra um ataque de injeção de SQL, garantindo 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 em um valor não são executados na fonte de dados. Em vez disso, eles são avaliados apenas como um valor de parâmetro. Além dos benefícios de segurança, os 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 uma matriz de DbParameter objetos ou uma matriz de valores de parâmetro. Se apenas valores forem fornecidos, uma matriz de DbParameter objetos será criada com base na ordem dos valores na matriz.

Para obter mais informações, consulte:

Executando diretamente comandos do repositório e

Como executar comandos diretamente na 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 digitados. Especifique o conjunto de entidades e a opção de mesclagem para que os resultados da consulta possam ser controlados 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

TEntity

O tipo de entidade do dado retornado.

Parâmetros

commandText
String

O comando a ser executado, na linguagem nativa da fonte de dados.

entitySetName
String

O conjunto de entidades do tipo TEntity. Se um nome de conjunto de entidades não for fornecido, os resultados não serão rastreados.

mergeOption
MergeOption

O MergeOption para usar ao executar a consulta. O padrão é AppendOnly.

parameters
Object[]

Uma matriz de parâmetros a serem passados para o comando.

Retornos

ObjectResult<TEntity>

Uma enumeração de objetos do tipo TResult.

Comentários

O ExecuteStoreQuery método usa a conexão existente para executar um comando arbitrário diretamente na fonte de dados. O comando store será executado no contexto da transação atual, se essa transação existir.

Chamar o ExecuteStoreQuery método é equivalente a chamar o ExecuteReader método da DbCommand classe , retorna apenas ExecuteStoreQuery entidades e retorna ExecuteReader valores de propriedade no DbDataReader.

Especifique o nome do conjunto de entidades, se desejar que os resultados sejam rastreados como entidades.

Chame Translate o método para converter um DbDataReader em objetos de entidade quando o leitor contiver linhas de dados mapeadas para o tipo de entidade especificado.

O uso de comandos parametrizados ajuda a proteger você contra ataques de injeção de SQL, nos quais um invasor "injeta" um comando em uma instrução SQL que compromete a segurança do servidor. Os comandos parametrizados se protege contra um ataque de injeção de SQL, garantindo 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 em um valor não são executados na fonte de dados. Em vez disso, eles são avaliados apenas como um valor de parâmetro. Além dos benefícios de segurança, os 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 uma matriz de DbParameter objetos ou uma matriz de valores de parâmetro. Se apenas valores forem fornecidos, uma matriz de DbParameter objetos será criada com base na ordem dos valores na matriz.

Para obter mais informações, consulte:

Executando diretamente comandos do repositório e

Como executar comandos diretamente na fonte de dados

Aplica-se a