RelationalDatabaseFacadeExtensions.SqlQuery<TResult> 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.
Crée une requête LINQ basée sur une requête SQL brute, qui retourne un jeu de résultats d’un type scalaire pris en charge en mode natif par le fournisseur de base de données.
public static System.Linq.IQueryable<TResult> SqlQuery<TResult> (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
static member SqlQuery : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function SqlQuery(Of TResult) (databaseFacade As DatabaseFacade, sql As FormattableString) As IQueryable(Of TResult)
Paramètres de type
- TResult
Paramètres
- databaseFacade
- DatabaseFacade
DatabaseFacade pour le contexte.
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
Pour utiliser cette méthode avec un type de retour qui n’est pas pris en charge en mode natif par le fournisseur de base de données, utilisez la DefaultTypeMapping<TScalar>(Action<TypeMappingConfigurationBuilder<TScalar>>) méthode .
Le retourné IQueryable<T> peut être composé à l’aide de LINQ pour générer des requêtes plus complexes.
Notez que cette méthode ne démarre pas une transaction. Pour utiliser cette méthode avec une transaction, appelez BeginTransaction(DatabaseFacade, IsolationLevel) d’abord ou UseTransaction.
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.
Pour plus d’informations et d’exemples, consultez Exécution de commandes SQL brutes avec EF Core .