ObjectContext.ExecuteStoreQuery Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
ExecuteStoreQuery<TElement>(String, Object[]) |
Ejecuta una consulta directamente con el origen de datos que devuelve una secuencia de resultados con tipo. |
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[]) |
Ejecuta una consulta directamente con el origen de datos y devuelve una secuencia de resultados con tipo. Especifique el conjunto de entidades y la opción de combinación para que se pueda realizar el seguimiento de los resultados de la consulta como entidades. |
ExecuteStoreQuery<TElement>(String, Object[])
Ejecuta una consulta directamente con el origen de datos que devuelve una secuencia de resultados con tipo.
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
Tipo de los datos devueltos.
Parámetros
- commandText
- String
Comando que se va a ejecutar, en el lenguaje nativo del origen de datos.
- parameters
- Object[]
Matriz de parámetros que se van a pasar al comando.
Devoluciones
Enumeración de objetos de tipo TElement
.
Comentarios
El ExecuteStoreQuery método usa la conexión existente para ejecutar un comando arbitrario directamente en el origen de datos. El comando de almacenamiento se ejecuta en el contexto de la transacción actual, si esa transacción existe.
Llamar al método ExecuteStoreQuery es equivalente a llamar al método ExecuteReader de la clase DbCommand, solamente ExecuteStoreQuery devuelve entidades, y el ExecuteReader devuelve valores de propiedad en el DbDataReader.
Llame a ExecuteStoreQuery con el nombre del conjunto de entidades especificado, si desea que se realice el seguimiento de los resultados.
Llame al Translate método para traducir un objeto DbDataReader en objetos de entidad cuando el lector contiene filas de datos que se asignan al tipo de entidad especificado.
La utilización de comandos con parámetros ayuda en la protección contra ataques por inyección de código SQL, en los que un atacante "inyecta" un comando en una instrucción SQL que pone en peligro la seguridad del servidor. Los comandos con parámetros protegen contra un ataque por inyección de código SQL al garantizar que los valores recibidos de un origen externo se pasan solo como valores y no como parte de la instrucción SQL. Como resultado, los comandos SQL insertados en un valor no se ejecutan en el origen de datos. En cambio, se evalúan únicamente como un valor de parámetro. Además de las ventajas de seguridad, los comandos con parámetros proporcionan un método práctico para organizar los valores pasados con una instrucción SQL o a un procedimiento almacenado.
El valor parameters
puede ser una matriz de objetos DbParameter o una matriz de valores de parámetro. Si solo se proporcionan valores, se crea una matriz de DbParameter objetos en función del orden de los valores de la matriz.
Para más información, consulte:
Ejecución directa de comandos del almacén y
Cómo: Ejecutar directamente comandos contra el origen de datos
Se aplica a
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])
Ejecuta una consulta directamente con el origen de datos y devuelve una secuencia de resultados con tipo. Especifique el conjunto de entidades y la opción de combinación para que se pueda realizar el seguimiento de los resultados de la consulta 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
Tipo de entidad de los datos devueltos.
Parámetros
- commandText
- String
Comando que se va a ejecutar, en el lenguaje nativo del origen de datos.
- entitySetName
- String
Conjunto de entidades del tipo TEntity
. Si no se proporciona un nombre del conjunto de entidades, no se va a hacer un seguimiento de los resultados.
- mergeOption
- MergeOption
MergeOption que se debe usar al ejecutar la consulta. De manera predeterminada, es AppendOnly.
- parameters
- Object[]
Matriz de parámetros que se van a pasar al comando.
Devoluciones
Enumeración de objetos de tipo TResult
.
Comentarios
El ExecuteStoreQuery método usa la conexión existente para ejecutar un comando arbitrario directamente en el origen de datos. El comando de almacenamiento se ejecuta en el contexto de la transacción actual, si esa transacción existe.
Llamar al método ExecuteStoreQuery es equivalente a llamar al método ExecuteReader de la clase DbCommand, solamente ExecuteStoreQuery devuelve entidades, y el ExecuteReader devuelve valores de propiedad en el DbDataReader.
Especifique el nombre del conjunto de entidades, si desea que se realice el seguimiento de los resultados como entidades.
Llame Translate al método para traducir un objeto DbDataReader en objetos de entidad cuando el lector contiene filas de datos que se asignan al tipo de entidad especificado.
La utilización de comandos con parámetros ayuda en la protección contra ataques por inyección de código SQL, en los que un atacante "inyecta" un comando en una instrucción SQL que pone en peligro la seguridad del servidor. Los comandos con parámetros protegen contra un ataque por inyección de código SQL al garantizar que los valores recibidos de un origen externo se pasan solo como valores y no como parte de la instrucción SQL. Como resultado, los comandos SQL insertados en un valor no se ejecutan en el origen de datos. En cambio, se evalúan únicamente como un valor de parámetro. Además de las ventajas de seguridad, los comandos con parámetros proporcionan un método práctico para organizar los valores pasados con una instrucción SQL o a un procedimiento almacenado.
El valor parameters
puede ser una matriz de objetos DbParameter o una matriz de valores de parámetro. Si solo se proporcionan valores, se crea una matriz de DbParameter objetos en función del orden de los valores de la matriz.
Para más información, consulte:
Ejecución directa de comandos del almacén y
Cómo: Ejecutar directamente comandos contra el origen de datos