Partilhar via


RelationalQueryableExtensions.FromSql Método

Definição

Sobrecargas

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

Cria uma consulta LINQ com base em uma cadeia de caracteres interpolada que representa uma consulta SQL.

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Obsoleto.

Cria uma consulta LINQ com base em uma cadeia de caracteres interpolada que representa uma consulta SQL.

Se o provedor de banco de dados der suporte à composição no SQL fornecido, você poderá compor sobre a consulta SQL bruta usando operadores LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada de usuário para proteger contra um ataque de injeção de SQL. Você pode incluir titulares de parâmetro interpolados na cadeia de caracteres de consulta SQL. Todos os valores de parâmetro interpolados fornecidos serão convertidos automaticamente em um DbParameter – context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})").

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

Cria uma consulta LINQ com base em uma consulta SQL bruta.

Se o provedor de banco de dados der suporte à composição no SQL fornecido, você poderá compor sobre a consulta SQL bruta usando operadores LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada de usuário para proteger contra um ataque de injeção de SQL. Você pode incluir detentores de parâmetros na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Essa sobrecarga também aceita instâncias DbParameter como valores de parâmetro. Isso permite que você use parâmetros nomeados na cadeia de caracteres de consulta SQL – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

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

Cria uma consulta LINQ com base em uma consulta SQL bruta.

Se o provedor de banco de dados der suporte à composição no SQL fornecido, você poderá compor sobre a consulta SQL bruta usando operadores LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada de usuário para proteger contra um ataque de injeção de SQL. Você pode incluir detentores de parâmetros na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Você também pode construir um DbParameter e fornecê-lo como um valor de parâmetro. Isso permite que você use parâmetros nomeados na cadeia de caracteres de consulta SQL – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

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

Origem:
RelationalQueryableExtensions.cs
Origem:
RelationalQueryableExtensions.cs
Origem:
RelationalQueryableExtensions.cs

Cria uma consulta LINQ com base em uma cadeia de caracteres interpolada que representa uma 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

O tipo dos elementos de source.

Parâmetros

source
DbSet<TEntity>

Um IQueryable<T> a ser usado como a base da consulta SQL da cadeia de caracteres interpolada (normalmente um DbSet<TEntity>).

sql
FormattableString

A cadeia de caracteres interpolada que representa uma consulta SQL com parâmetros.

Retornos

IQueryable<TEntity>

Um IQueryable<T> que representa a consulta SQL de cadeia de caracteres interpolada.

Comentários

Se o provedor de banco de dados der suporte à composição no SQL fornecido, você poderá compor sobre a consulta SQL bruta usando operadores LINQ.

Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada de usuário para proteger contra um ataque de injeção de SQL. Você pode incluir titulares de parâmetro interpolados na cadeia de caracteres de consulta SQL. Todos os valores de parâmetro interpolados fornecidos serão convertidos automaticamente em um DbParameter.

Consulte Executando comandos SQL brutos com o EF Core para obter mais informações e exemplos.

Aplica-se a

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

Origem:
RelationalQueryableExtensions.cs
Origem:
RelationalQueryableExtensions.cs
Origem:
RelationalQueryableExtensions.cs
Origem:
RelationalQueryableExtensions.cs

Cuidado

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.

Cria uma consulta LINQ com base em uma cadeia de caracteres interpolada que representa uma consulta SQL.

Se o provedor de banco de dados der suporte à composição no SQL fornecido, você poderá compor sobre a consulta SQL bruta usando operadores LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada de usuário para proteger contra um ataque de injeção de SQL. Você pode incluir titulares de parâmetro interpolados na cadeia de caracteres de consulta SQL. Todos os valores de parâmetro interpolados fornecidos serão convertidos automaticamente em um 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

O tipo dos elementos de source.

Parâmetros

source
IQueryable<TEntity>

Um IQueryable<T> a ser usado como a base da consulta SQL da cadeia de caracteres interpolada (normalmente um DbSet<TEntity>).

sql
FormattableString

A cadeia de caracteres interpolada que representa uma consulta SQL.

Retornos

IQueryable<TEntity>

Um IQueryable<T> que representa a consulta SQL de cadeia de caracteres interpolada.

Atributos

Aplica-se a

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

Origem:
RelationalQueryableExtensions.cs
Origem:
RelationalQueryableExtensions.cs
Origem:
RelationalQueryableExtensions.cs
Origem:
RelationalQueryableExtensions.cs

Cuidado

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.

Cria uma consulta LINQ com base em uma consulta SQL bruta.

Se o provedor de banco de dados der suporte à composição no SQL fornecido, você poderá compor sobre a consulta SQL bruta usando operadores LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada de usuário para proteger contra um ataque de injeção de SQL. Você pode incluir detentores de parâmetros na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Essa sobrecarga também aceita instâncias DbParameter como valores de parâmetro. Isso permite que você use parâmetros nomeados na cadeia de caracteres 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

O tipo dos elementos de source.

Parâmetros

source
IQueryable<TEntity>

Um IQueryable<T> a ser usado como a base da consulta SQL bruta (normalmente um DbSet<TEntity>).

sql
RawSqlString

A consulta SQL bruta. NB. Um literal de cadeia de caracteres pode ser passado aqui porque RawSqlString é implicitamente conversível para cadeia de caracteres.

parameters
Object[]

Os valores a serem atribuídos aos parâmetros.

Retornos

IQueryable<TEntity>

Um IQueryable<T> que representa a consulta SQL bruta.

Atributos

Aplica-se a

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

Cria uma consulta LINQ com base em uma consulta SQL bruta.

Se o provedor de banco de dados der suporte à composição no SQL fornecido, você poderá compor sobre a consulta SQL bruta usando operadores LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada de usuário para proteger contra um ataque de injeção de SQL. Você pode incluir detentores de parâmetros na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Você também pode construir um DbParameter e fornecê-lo como um valor de parâmetro. Isso permite que você use parâmetros nomeados na cadeia de caracteres 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

O tipo dos elementos de source.

Parâmetros

source
IQueryable<TEntity>

Um IQueryable<T> a ser usado como a base da consulta SQL bruta (normalmente um DbSet<TEntity>).

sql
String

A consulta SQL bruta.

parameters
Object[]

Os valores a serem atribuídos aos parâmetros.

Retornos

IQueryable<TEntity>

Um IQueryable<T> que representa a consulta SQL bruta.

Aplica-se a