DbSet<TEntity>.SqlQuery (Método)

[Esta página es específica de la versión 6 de Entity Framework. La versión más reciente está disponible como el paquete NuGet de Entity Framework. Para más información sobre Entity Framework, consulte msdn.com/es-ES/data/ef].

Crea una consulta SQL sin formato que devolverá entidades de este conjunto. De forma predeterminada, el contexto realiza el seguimiento de las entidades devueltas; esto puede cambiarse invocando a AsNoTracking en la DbSqlQuery<TEntity> devuelta. Tenga en cuenta que las entidades devueltas siempre son del tipo de este conjunto y nunca de un tipo derivado. Si la tabla o tablas consultadas pueden contener datos para otros tipos de entidad, la consulta SQL se debe escribir correctamente para asegurarse de que solo se devuelven entidades del tipo correcto. Como con cualquier API que acepte SQL, es importante parametrizar cualquier dato proporcionado por el usuario para protegerse de un ataque de inyección de SQL. Se pueden incluir marcadores de posición de parámetros en la consulta de SQL y, a continuación, proporcionar valores del parámetro como argumentos adicionales. Cualquier valor de parámetro que se proporcione se convertirá automáticamente en un DbParameter. context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Alternativamente, también se puede construir un DbParameter y proporcionárselo a SqlQuery. Esto permite usar parámetros nombrados en la cadena de consulta de SQL. context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Espacio de nombres:  System.Data.Entity
Ensamblado:  EntityFramework (en EntityFramework.dll)

Sintaxis

'Declaración
Public Overridable Function SqlQuery ( _
    sql As String, _
    ParamArray parameters As Object() _
) As DbSqlQuery(Of TEntity)
'Uso
Dim instance As DbSet 
Dim sql As String 
Dim parameters As Object()
Dim returnValue As DbSqlQuery(Of TEntity)

returnValue = instance.SqlQuery(sql, parameters)
public virtual DbSqlQuery<TEntity> SqlQuery(
    string sql,
    params Object[] parameters
)
public:
virtual DbSqlQuery<TEntity>^ SqlQuery(
    String^ sql, 
    ... array<Object^>^ parameters
)
abstract SqlQuery : 
        sql:string * 
        parameters:Object[] -> DbSqlQuery<'TEntity> 
override SqlQuery : 
        sql:string * 
        parameters:Object[] -> DbSqlQuery<'TEntity> 
public function SqlQuery(
    sql : String, 
    ... parameters : Object[]
) : DbSqlQuery<TEntity>

Parámetros

  • parameters
    Tipo: System.Object[]
    Los parámetros que se van a aplicar a la cadena de consulta SQL. Si se usan parámetros de salida, sus valores no estarán disponibles hasta que los resultados se hayan leído por completo. Esto se debe al comportamiento subyacente de DbDataReader; vea https://go.microsoft.com/fwlink/?LinkID=398589 para obtener más detalles.

Valor devuelto

Tipo: System.Data.Entity.Infrastructure.DbSqlQuery<TEntity>
Un objeto DbSqlQuery<TEntity> que ejecutará la consulta cuando se enumere.

Vea también

Referencia

DbSet<TEntity> Clase

System.Data.Entity (Espacio de nombres)