RelationalQueryableExtensions.FromSql 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
FromSql<TEntity>(DbSet<TEntity>, FormattableString) |
Crea una consulta LINQ basada en una cadena interpolada que representa una consulta SQL. |
FromSql<TEntity>(IQueryable<TEntity>, FormattableString) |
Obsoletos.
Crea una consulta LINQ basada en una cadena interpolada que representa una consulta SQL.
Si el proveedor de base de datos admite la redacción en el SQL proporcionado, puede crear sobre la consulta SQL sin procesar mediante operadores LINQ:
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetro interpolados en la cadena de consulta SQL. Los valores de parámetro interpolados que proporcione se convertirán automáticamente en dbParameter: |
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[]) |
Obsoletos.
Crea una consulta LINQ basada en una consulta SQL sin formato.
Si el proveedor de base de datos admite la redacción en el SQL proporcionado, puede crear sobre la consulta SQL sin procesar mediante operadores LINQ:
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter:
Esta sobrecarga también acepta instancias de DbParameter como valores de parámetro. Esto le permite usar parámetros con nombre en la cadena de consulta SQL: |
FromSql<TEntity>(IQueryable<TEntity>, String, Object[]) |
Crea una consulta LINQ basada en una consulta SQL sin formato.
Si el proveedor de base de datos admite la redacción en el SQL proporcionado, puede crear sobre la consulta SQL sin procesar mediante operadores LINQ:
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter:
También puede construir un DbParameter y proporcionarlo como un valor de parámetro. Esto le permite usar parámetros con nombre en la cadena de consulta SQL: |
FromSql<TEntity>(DbSet<TEntity>, FormattableString)
Crea una consulta LINQ basada en una cadena interpolada que representa una consulta SQL.
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this Microsoft.EntityFrameworkCore.DbSet<TEntity> source, FormattableString sql) where TEntity : class;
static member FromSql : Microsoft.EntityFrameworkCore.DbSet<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As DbSet(Of TEntity), sql As FormattableString) As IQueryable(Of TEntity)
Parámetros de tipo
- TEntity
Tipo de los elementos de source
.
Parámetros
- source
- DbSet<TEntity>
que IQueryable<T> se va a usar como base de la consulta SQL de cadena interpolada (normalmente un DbSet<TEntity>).
Cadena interpolada que representa una consulta SQL con parámetros.
Devoluciones
que IQueryable<T> representa la consulta SQL de cadena interpolada.
Comentarios
Si el proveedor de bases de datos admite la redacción en el SQL proporcionado, puede crear sobre la consulta SQL sin procesar mediante operadores LINQ.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetro interpolados en la cadena de consulta SQL. Los valores de parámetro interpolados que proporcione se convertirán automáticamente en .DbParameter
Consulte Ejecución de comandos SQL sin formato con EF Core para obtener más información y ejemplos.
Se aplica a
FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Precaución
For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.
Crea una consulta LINQ basada en una cadena interpolada que representa una consulta SQL.
Si el proveedor de base de datos admite la redacción en el SQL proporcionado, puede crear sobre la consulta SQL sin procesar mediante operadores LINQ: context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetro interpolados en la cadena de consulta SQL. Los valores de parámetro interpolados que proporcione se convertirán automáticamente en dbParameter: context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")
.
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, FormattableString sql) where TEntity : class;
[System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)]
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, FormattableString sql) where TEntity : class;
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
[<System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)>]
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As IQueryable(Of TEntity), sql As FormattableString) As IQueryable(Of TEntity)
Parámetros de tipo
- TEntity
Tipo de los elementos de source
.
Parámetros
- source
- IQueryable<TEntity>
que IQueryable<T> se va a usar como base de la consulta SQL de cadena interpolada (normalmente un DbSet<TEntity>).
Cadena interpolada que representa una consulta SQL.
Devoluciones
que IQueryable<T> representa la consulta SQL de cadena interpolada.
- Atributos
Se aplica a
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
Precaución
For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.
Crea una consulta LINQ basada en una consulta SQL sin formato.
Si el proveedor de base de datos admite la redacción en el SQL proporcionado, puede crear sobre la consulta SQL sin procesar mediante operadores LINQ: context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter: context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
.
Esta sobrecarga también acepta instancias de DbParameter como valores de parámetro. Esto le permite usar parámetros con nombre en la cadena de consulta SQL: context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, Microsoft.EntityFrameworkCore.RawSqlString sql, params object[] parameters) where TEntity : class;
[System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)]
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, Microsoft.EntityFrameworkCore.RawSqlString sql, params object[] parameters) where TEntity : class;
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * Microsoft.EntityFrameworkCore.RawSqlString * obj[] -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
[<System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)>]
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * Microsoft.EntityFrameworkCore.RawSqlString * obj[] -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As IQueryable(Of TEntity), sql As RawSqlString, ParamArray parameters As Object()) As IQueryable(Of TEntity)
Parámetros de tipo
- TEntity
Tipo de los elementos de source
.
Parámetros
- source
- IQueryable<TEntity>
que IQueryable<T> se va a usar como base de la consulta SQL sin formato (normalmente una DbSet<TEntity>clase ).
- sql
- RawSqlString
Consulta SQL sin formato. NB. Se puede pasar un literal de cadena aquí porque RawSqlString se puede convertir implícitamente en cadena.
- parameters
- Object[]
Los valores que se van a asignar a los parámetros.
Devoluciones
que IQueryable<T> representa la consulta SQL sin formato.
- Atributos
Se aplica a
FromSql<TEntity>(IQueryable<TEntity>, String, Object[])
Crea una consulta LINQ basada en una consulta SQL sin formato.
Si el proveedor de base de datos admite la redacción en el SQL proporcionado, puede crear sobre la consulta SQL sin procesar mediante operadores LINQ: context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter: context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
.
También puede construir un DbParameter y proporcionarlo como un valor de parámetro. Esto le permite usar parámetros con nombre en la cadena de consulta SQL: context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, string sql, params object[] parameters) where TEntity : class;
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * string * obj[] -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As IQueryable(Of TEntity), sql As String, ParamArray parameters As Object()) As IQueryable(Of TEntity)
Parámetros de tipo
- TEntity
Tipo de los elementos de source
.
Parámetros
- source
- IQueryable<TEntity>
que IQueryable<T> se va a usar como base de la consulta SQL sin formato (normalmente una DbSet<TEntity>clase ).
- sql
- String
Consulta SQL sin formato.
- parameters
- Object[]
Los valores que se van a asignar a los parámetros.
Devoluciones
que IQueryable<T> representa la consulta SQL sin formato.