Jazyk

RelationalQueryableExtensions.FromSql Metoda

Definice

Přetížení

Název Description
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 poskytovatel 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 vstup uživatele pro ochranu před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele interpolovaných míst parametrů. Všechny interpolované hodnoty 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 poskytovatel 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 vstup uživatele pro ochranu před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout vlastníky 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 poskytovatel 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 vstup uživatele pro ochranu před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout vlastníky 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é sestavit 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
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 prvků .source

Parametry

source
DbSet<TEntity>

Použití IQueryable<T> jako základ interpolovaného řetězcového dotazu SQL (obvykle a 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 vstup uživatele pro ochranu před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele interpolovaných míst parametrů. Všechny interpolované hodnoty 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 s 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 poskytovatel 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 vstup uživatele pro ochranu před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele interpolovaných míst parametrů. Všechny interpolované hodnoty 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 prvků .source

Parametry

source
IQueryable<TEntity>

Použití IQueryable<T> jako základ interpolovaného řetězcového dotazu SQL (obvykle a 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 poskytovatel 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 vstup uživatele pro ochranu před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout vlastníky 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 prvků .source

Parametry

source
IQueryable<TEntity>

Použití IQueryable<T> jako základ nezpracovaného dotazu SQL (obvykle a DbSet<TEntity>).

sql
RawSqlString

Nezpracovaný dotaz SQL. NB. Řetězcový literál se zde může předat, protože RawSqlString se implicitně konvertibilní na řetězec.

parameters
Object[]

Hodnoty, které se mají přiřadit k 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 poskytovatel 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 vstup uživatele pro ochranu před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout vlastníky 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é sestavit 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 prvků .source

Parametry

source
IQueryable<TEntity>

Použití IQueryable<T> jako základ nezpracovaného dotazu SQL (obvykle a DbSet<TEntity>).

sql
String

Nezpracovaný dotaz SQL.

parameters
Object[]

Hodnoty, které se mají přiřadit k parametrům.

Návraty

IQueryable<TEntity>

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

Platí pro