Condividi tramite


RelationalQueryableExtensions Classe

Definizione

Metodi di estensione specifici del database relazionale per le query LINQ.

public static class RelationalQueryableExtensions
type RelationalQueryableExtensions = class
Public Module RelationalQueryableExtensions
Ereditarietà
RelationalQueryableExtensions

Metodi

AsSingleQuery<TEntity>(IQueryable<TEntity>)

Restituisce una nuova query configurata per caricare le raccolte nella query genera una singola query di database.

AsSplitQuery<TEntity>(IQueryable<TEntity>)

Restituisce una nuova query configurata per caricare le raccolte nei risultati della query tramite query di database separate.

CreateDbCommand(IQueryable)

Crea una DbCommand configurazione per eseguire questa query.

ExecuteDelete<TSource>(IQueryable<TSource>)

Elimina tutte le righe di database per le istanze di entità che corrispondono alla query LINQ dal database.

ExecuteDeleteAsync<TSource>(IQueryable<TSource>, CancellationToken)

Elimina in modo asincrono le righe di database per le istanze di entità che corrispondono alla query LINQ dal database.

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>)

Aggiornamenti tutte le righe di database per le istanze di entità che corrispondono alla query LINQ dal database.

ExecuteUpdateAsync<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>, CancellationToken)

Aggiorna in modo asincrono le righe di database per le istanze di entità che corrispondono alla query LINQ dal database.

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 in SQL fornito, è possibile comporre nella 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 utente da proteggere 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 dbParameter - context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})").

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 in SQL fornito, è possibile comporre nella 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 utente da proteggere 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 forniti verranno convertiti automaticamente in un oggetto 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))

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 in SQL fornito, è possibile comporre nella 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 utente da proteggere 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 forniti verranno convertiti automaticamente in un oggetto DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

È anche possibile costruire un dbParameter e specificarlo 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))

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

Crea una query LINQ basata su una stringa interpolata che rappresenta una query SQL.

FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[])

Crea una query LINQ basata su una query SQL non elaborata.

Si applica a