Sdílet prostřednictvím


RelationalQueryableExtensions.FromSql Metoda

Definice

Přetížení

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

Vytvoří dotaz LINQ založený na interpolovaném řetězci představujícím dotaz SQL.

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Zastaralé.

Vytvoří dotaz LINQ založený na interpolovaném řetězci představujícím dotaz SQL.

Pokud zprostředkovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaným dotazem SQL pomocí operátorů LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout interpolované držitele umístění parametrů. Všechny hodnoty interpolovaných parametrů, které zadáte, se automaticky převedou na DbParameter – context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})").

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

Vytvoří dotaz LINQ na základě nezpracovaného dotazu SQL.

Pokud zprostředkovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaným dotazem SQL pomocí operátorů LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Toto přetížení také přijímá instance DbParameter jako hodnoty parametrů. To vám umožní použít pojmenované parametry v řetězci dotazu SQL – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

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

Vytvoří dotaz LINQ na základě nezpracovaného dotazu SQL.

Pokud zprostředkovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaným dotazem SQL pomocí operátorů LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Můžete také vytvořit DbParameter a zadat ho jako hodnotu parametru. To vám umožní použít pojmenované parametry v řetězci dotazu SQL – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

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

Zdroj:
RelationalQueryableExtensions.cs
Zdroj:
RelationalQueryableExtensions.cs
Zdroj:
RelationalQueryableExtensions.cs

Vytvoří dotaz LINQ založený na interpolovaném řetězci představujícím dotaz 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)

Parametry typu

TEntity

Typ elementů .source

Parametry

source
DbSet<TEntity>

An IQueryable<T> , který se použije jako základ interpolovaného řetězcového dotazu SQL (obvykle DbSet<TEntity>).

sql
FormattableString

Interpolovaný řetězec představující dotaz SQL s parametry.

Návraty

IQueryable<TEntity>

Představuje IQueryable<T> interpolovaný řetězcový dotaz SQL.

Poznámky

Pokud poskytovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaný dotaz SQL pomocí operátorů LINQ.

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout interpolované držitele umístění parametrů. Všechny hodnoty interpolovaných parametrů, které zadáte, se automaticky převedou na DbParameterhodnotu .

Další informace a příklady najdete v tématu Spouštění nezpracovaných příkazů SQL pomocí EF Core .

Platí pro

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

Zdroj:
RelationalQueryableExtensions.cs
Zdroj:
RelationalQueryableExtensions.cs
Zdroj:
RelationalQueryableExtensions.cs
Zdroj:
RelationalQueryableExtensions.cs

Upozorně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.

Vytvoří dotaz LINQ založený na interpolovaném řetězci představujícím dotaz SQL.

Pokud zprostředkovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaným dotazem SQL pomocí operátorů LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout interpolované držitele umístění parametrů. Všechny hodnoty interpolovaných parametrů, které zadáte, se automaticky převedou na 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)

Parametry typu

TEntity

Typ elementů .source

Parametry

source
IQueryable<TEntity>

An IQueryable<T> , který se použije jako základ interpolovaného řetězcového dotazu SQL (obvykle DbSet<TEntity>).

sql
FormattableString

Interpolovaný řetězec představující dotaz SQL.

Návraty

IQueryable<TEntity>

Představuje IQueryable<T> interpolovaný řetězcový dotaz SQL.

Atributy

Platí pro

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

Zdroj:
RelationalQueryableExtensions.cs
Zdroj:
RelationalQueryableExtensions.cs
Zdroj:
RelationalQueryableExtensions.cs
Zdroj:
RelationalQueryableExtensions.cs

Upozorně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.

Vytvoří dotaz LINQ na základě nezpracovaného dotazu SQL.

Pokud zprostředkovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaným dotazem SQL pomocí operátorů LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Toto přetížení také přijímá instance DbParameter jako hodnoty parametrů. To vám umožní použít pojmenované parametry v řetězci dotazu 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)

Parametry typu

TEntity

Typ elementů .source

Parametry

source
IQueryable<TEntity>

AnIQueryable<T>, který se použije jako základ nezpracovaného dotazu SQL (obvykle ).DbSet<TEntity>

sql
RawSqlString

Nezpracovaný dotaz SQL. NB. Sem se může předat řetězcový literál, protože RawSqlString je implicitně převoditelný na řetězec.

parameters
Object[]

Hodnoty, které mají být přiřazeny parametrům.

Návraty

IQueryable<TEntity>

Představuje IQueryable<T> nezpracovaný dotaz SQL.

Atributy

Platí pro

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

Vytvoří dotaz LINQ na základě nezpracovaného dotazu SQL.

Pokud zprostředkovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaným dotazem SQL pomocí operátorů LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Můžete také vytvořit DbParameter a zadat ho jako hodnotu parametru. To vám umožní použít pojmenované parametry v řetězci dotazu 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)

Parametry typu

TEntity

Typ elementů .source

Parametry

source
IQueryable<TEntity>

AnIQueryable<T>, který se použije jako základ nezpracovaného dotazu SQL (obvykle ).DbSet<TEntity>

sql
String

Nezpracovaný dotaz SQL.

parameters
Object[]

Hodnoty, které mají být přiřazeny parametrům.

Návraty

IQueryable<TEntity>

Představuje IQueryable<T> nezpracovaný dotaz SQL.

Platí pro