Compartir a través de


RelationalQueryableExtensions.FromSql Método

Definición

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: 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})").

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: 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))

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))

FromSql<TEntity>(DbSet<TEntity>, FormattableString)

Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs

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>).

sql
FormattableString

Cadena interpolada que representa una consulta SQL con parámetros.

Devoluciones

IQueryable<TEntity>

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)

Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs

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>).

sql
FormattableString

Cadena interpolada que representa una consulta SQL.

Devoluciones

IQueryable<TEntity>

que IQueryable<T> representa la consulta SQL de cadena interpolada.

Atributos

Se aplica a

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])

Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs

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

IQueryable<TEntity>

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

IQueryable<TEntity>

que IQueryable<T> representa la consulta SQL sin formato.

Se aplica a