Partager via


RelationalQueryableExtensions.FromSql Méthode

Définition

Surcharges

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

Crée une requête LINQ basée sur une chaîne interpolée représentant une requête SQL.

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Obsolète.

Crée une requête LINQ basée sur une chaîne interpolée représentant une requête SQL.

Si le fournisseur de base de données prend en charge la composition sur le SQL fourni, vous pouvez composer par-dessus la requête SQL brute à l’aide d’opérateurs LINQ - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection de code SQL. Vous pouvez inclure des espaces réservés de paramètres interpolés dans la chaîne de requête SQL. Toutes les valeurs de paramètre interpolées que vous fournissez sont automatiquement converties en DbParameter - context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})").

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
Obsolète.

Crée une requête LINQ basée sur une requête SQL brute.

Si le fournisseur de base de données prend en charge la composition sur le SQL fourni, vous pouvez composer par-dessus la requête SQL brute à l’aide d’opérateurs LINQ - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection de code SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Cette surcharge accepte également les instances DbParameter comme valeurs de paramètre. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête SQL : context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

Crée une requête LINQ basée sur une requête SQL brute.

Si le fournisseur de base de données prend en charge la composition sur le SQL fourni, vous pouvez composer par-dessus la requête SQL brute à l’aide d’opérateurs LINQ - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection de code SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Vous pouvez également construire un DbParameter et le fournir en tant que valeur de paramètre. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête SQL : context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

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

Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs

Crée une requête LINQ basée sur une chaîne interpolée représentant une requête 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)

Paramètres de type

TEntity

Le type des éléments de source.

Paramètres

source
DbSet<TEntity>

IQueryable<T> à utiliser comme base de la requête SQL de chaîne interpolée (généralement un DbSet<TEntity>).

sql
FormattableString

Chaîne interpolée représentant une requête SQL avec des paramètres.

Retours

IQueryable<TEntity>

IQueryable<T> représentant la requête SQL de chaîne interpolée.

Remarques

Si le fournisseur de base de données prend en charge la composition sur le sql fourni, vous pouvez composer par-dessus la requête SQL brute à l’aide d’opérateurs LINQ.

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection de code SQL. Vous pouvez inclure des espaces réservés de paramètres interpolés dans la chaîne de requête SQL. Toutes les valeurs de paramètre interpolées que vous fournissez sont automatiquement converties en .DbParameter

Pour plus d’informations et d’exemples, consultez Exécution de commandes SQL brutes avec EF Core .

S’applique à

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)

Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs

Attention

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.

Crée une requête LINQ basée sur une chaîne interpolée représentant une requête SQL.

Si le fournisseur de base de données prend en charge la composition sur le SQL fourni, vous pouvez composer par-dessus la requête SQL brute à l’aide d’opérateurs LINQ - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection de code SQL. Vous pouvez inclure des espaces réservés de paramètres interpolés dans la chaîne de requête SQL. Toutes les valeurs de paramètre interpolées que vous fournissez sont automatiquement converties en 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)

Paramètres de type

TEntity

Le type des éléments de source.

Paramètres

source
IQueryable<TEntity>

IQueryable<T> à utiliser comme base de la requête SQL de chaîne interpolée (généralement un DbSet<TEntity>).

sql
FormattableString

Chaîne interpolée représentant une requête SQL.

Retours

IQueryable<TEntity>

IQueryable<T> représentant la requête SQL de chaîne interpolée.

Attributs

S’applique à

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])

Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs
Source:
RelationalQueryableExtensions.cs

Attention

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.

Crée une requête LINQ basée sur une requête SQL brute.

Si le fournisseur de base de données prend en charge la composition sur le SQL fourni, vous pouvez composer par-dessus la requête SQL brute à l’aide d’opérateurs LINQ - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection de code SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Cette surcharge accepte également les instances DbParameter comme valeurs de paramètre. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête 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)

Paramètres de type

TEntity

Le type des éléments de source.

Paramètres

source
IQueryable<TEntity>

à IQueryable<T> utiliser comme base de la requête SQL brute (généralement un DbSet<TEntity>).

sql
RawSqlString

Requête SQL brute. NB. Un littéral de chaîne peut être passé ici, car RawSqlString il est implicitement convertible en chaîne.

parameters
Object[]

Valeurs à affecter aux paramètres.

Retours

IQueryable<TEntity>

IQueryable<T> représentant la requête SQL brute.

Attributs

S’applique à

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

Crée une requête LINQ basée sur une requête SQL brute.

Si le fournisseur de base de données prend en charge la composition sur le SQL fourni, vous pouvez composer par-dessus la requête SQL brute à l’aide d’opérateurs LINQ - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection de code SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Vous pouvez également construire un DbParameter et le fournir en tant que valeur de paramètre. Cela vous permet d’utiliser des paramètres nommés dans la chaîne de requête 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)

Paramètres de type

TEntity

Le type des éléments de source.

Paramètres

source
IQueryable<TEntity>

à IQueryable<T> utiliser comme base de la requête SQL brute (généralement un DbSet<TEntity>).

sql
String

Requête SQL brute.

parameters
Object[]

Valeurs à affecter aux paramètres.

Retours

IQueryable<TEntity>

IQueryable<T> représentant la requête SQL brute.

S’applique à