RelationalQueryableExtensions.FromSql Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
FromSql<TEntity>(DbSet<TEntity>, FormattableString) |
Crea una query LINQ basata su una stringa interpolata che rappresenta una query SQL. |
FromSql<TEntity>(IQueryable<TEntity>, FormattableString) |
Obsoleti.
Crea una query LINQ basata su una stringa interpolata che rappresenta una query SQL.
Se il provider di database supporta la composizione nell'istanza di SQL fornita, è possibile comporre sopra la query SQL non elaborata usando gli operatori LINQ -
Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input dell'utente per proteggersi da un attacco SQL injection. È possibile includere i segnaposto dei parametri interpolati nella stringa di query SQL. Tutti i valori dei parametri interpolati specificati verranno convertiti automaticamente in dbParameter - |
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[]) |
Obsoleti.
Crea una query LINQ basata su una query SQL non elaborata.
Se il provider di database supporta la composizione nell'istanza di SQL fornita, è possibile comporre sopra la query SQL non elaborata usando gli operatori LINQ -
Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input dell'utente per proteggersi da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi specificare i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri specificati verranno convertiti automaticamente in dbParameter -
Questo overload accetta anche le istanze DbParameter come valori di parametro. In questo modo è possibile usare parametri denominati nella stringa di query SQL : |
FromSql<TEntity>(IQueryable<TEntity>, String, Object[]) |
Crea una query LINQ basata su una query SQL non elaborata.
Se il provider di database supporta la composizione nell'istanza di SQL fornita, è possibile comporre sopra la query SQL non elaborata usando gli operatori LINQ -
Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input dell'utente per proteggersi da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi specificare i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri specificati verranno convertiti automaticamente in dbParameter -
È anche possibile costruire un oggetto DbParameter e specificarlo a come valore di parametro. In questo modo è possibile usare parametri denominati nella stringa di query SQL : |
FromSql<TEntity>(DbSet<TEntity>, FormattableString)
Crea una query LINQ basata su una stringa interpolata che rappresenta una query 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)
Parametri di tipo
- TEntity
Tipo degli elementi di source
.
Parametri
- source
- DbSet<TEntity>
Oggetto IQueryable<T> da usare come base della query SQL di stringa interpolata (in genere un oggetto DbSet<TEntity>).
Stringa interpolata che rappresenta una query SQL con parametri.
Restituisce
Oggetto IQueryable<T> che rappresenta la query SQL di stringa interpolata.
Commenti
Se il provider di database supporta la composizione nell'istanza di SQL fornita, è possibile comporre sopra la query SQL non elaborata usando gli operatori LINQ.
Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input dell'utente per proteggersi da un attacco SQL injection. È possibile includere i segnaposto dei parametri interpolati nella stringa di query SQL. Tutti i valori dei parametri interpolati forniti verranno convertiti automaticamente in un oggetto DbParameter.
Per altre informazioni ed esempi, vedere Esecuzione di comandi SQL non elaborati con EF Core .
Si applica a
FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Attenzione
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.
Crea una query LINQ basata su una stringa interpolata che rappresenta una query SQL.
Se il provider di database supporta la composizione nell'istanza di SQL fornita, è possibile comporre sopra la query SQL non elaborata usando gli operatori LINQ - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
.
Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input dell'utente per proteggersi da un attacco SQL injection. È possibile includere i segnaposto dei parametri interpolati nella stringa di query SQL. Tutti i valori dei parametri interpolati specificati verranno convertiti automaticamente in 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)
Parametri di tipo
- TEntity
Tipo degli elementi di source
.
Parametri
- source
- IQueryable<TEntity>
Oggetto IQueryable<T> da usare come base della query SQL di stringa interpolata (in genere un oggetto DbSet<TEntity>).
Stringa interpolata che rappresenta una query SQL.
Restituisce
Oggetto IQueryable<T> che rappresenta la query SQL di stringa interpolata.
- Attributi
Si applica a
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
Attenzione
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.
Crea una query LINQ basata su una query SQL non elaborata.
Se il provider di database supporta la composizione nell'istanza di SQL fornita, è possibile comporre sopra la query SQL non elaborata usando gli operatori LINQ - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
.
Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input dell'utente per proteggersi da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi specificare i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri specificati verranno convertiti automaticamente in dbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
.
Questo overload accetta anche le istanze DbParameter come valori di parametro. In questo modo è possibile usare parametri denominati nella stringa di query 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)
Parametri di tipo
- TEntity
Tipo degli elementi di source
.
Parametri
- source
- IQueryable<TEntity>
Oggetto IQueryable<T> da usare come base della query SQL non elaborata (in genere un oggetto DbSet<TEntity>).
- sql
- RawSqlString
Query SQL non elaborata. NB. Un valore letterale stringa può essere passato qui perché RawSqlString è convertibile in modo implicito in stringa.
- parameters
- Object[]
Valori da assegnare ai parametri.
Restituisce
Oggetto IQueryable<T> che rappresenta la query SQL non elaborata.
- Attributi
Si applica a
FromSql<TEntity>(IQueryable<TEntity>, String, Object[])
Crea una query LINQ basata su una query SQL non elaborata.
Se il provider di database supporta la composizione nell'istanza di SQL fornita, è possibile comporre sopra la query SQL non elaborata usando gli operatori LINQ - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
.
Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input dell'utente per proteggersi da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi specificare i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri specificati verranno convertiti automaticamente in dbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
.
È anche possibile costruire un oggetto DbParameter e specificarlo a come valore di parametro. In questo modo è possibile usare parametri denominati nella stringa di query 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)
Parametri di tipo
- TEntity
Tipo degli elementi di source
.
Parametri
- source
- IQueryable<TEntity>
Oggetto IQueryable<T> da usare come base della query SQL non elaborata (in genere un oggetto DbSet<TEntity>).
- sql
- String
Query SQL non elaborata.
- parameters
- Object[]
Valori da assegnare ai parametri.
Restituisce
Oggetto IQueryable<T> che rappresenta la query SQL non elaborata.