RelationalQueryableExtensions.FromSql Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 –
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 – |
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 –
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 –
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 – |
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 –
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 –
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 – |
FromSql<TEntity>(DbSet<TEntity>, FormattableString)
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>).
Interpolovaný řetězec představující dotaz SQL s parametry.
Návraty
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)
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>).
Interpolovaný řetězec představující dotaz SQL.
Návraty
Představuje IQueryable<T> interpolovaný řetězcový dotaz SQL.
- Atributy
Platí pro
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
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
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
Představuje IQueryable<T> nezpracovaný dotaz SQL.
Platí pro
Entity Framework