RelationalQueryableExtensions.FromSql Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 -
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 - |
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 -
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 -
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 : |
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 -
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 -
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 : |
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.
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>).
Chaîne interpolée représentant une requête SQL avec des paramètres.
Retours
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)
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>).
Chaîne interpolée représentant une requête SQL.
Retours
IQueryable<T> représentant la requête SQL de chaîne interpolée.
- Attributs
S’applique à
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
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<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<T> représentant la requête SQL brute.