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í
| 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 -
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 - |
| 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 -
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 -
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 poskytovatel 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 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 -
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 – |
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 prvků .source
Parametry
- source
- DbSet<TEntity>
Použití IQueryable<T> jako základ interpolovaného řetězcového dotazu SQL (obvykle a 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 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)
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>).
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 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
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
Představuje IQueryable<T> nezpracovaný dotaz SQL.