Partager via


DbSet<TEntity>.SqlQuery, méthode

[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]

Crée une requête SQL brute qui retournera des entités dans ce jeu. Par défaut, les entités retournées sont suivies par le contexte ; cela peut être modifié en appelant AsNoTracking sur le DbSqlQuery<TEntity> retourné. Notez que les entités retournées sont toujours du type de ce jeu et jamais d'un type dérivé. Si la table ou les tables interrogées peuvent contenir des données pour d'autres types d'entités, la requête SQL doit être écrite convenablement pour garantir que seules les entités du type correct sont retournées. Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL. Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires. Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter. context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery. Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL. context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Espace de noms :  System.Data.Entity
Assembly :  EntityFramework (dans EntityFramework.dll)

Syntaxe

'Déclaration
Public Overridable Function SqlQuery ( _
    sql As String, _
    ParamArray parameters As Object() _
) As DbSqlQuery(Of TEntity)
'Utilisation
Dim instance As DbSet 
Dim sql As String 
Dim parameters As Object()
Dim returnValue As DbSqlQuery(Of TEntity)

returnValue = instance.SqlQuery(sql, parameters)
public virtual DbSqlQuery<TEntity> SqlQuery(
    string sql,
    params Object[] parameters
)
public:
virtual DbSqlQuery<TEntity>^ SqlQuery(
    String^ sql, 
    ... array<Object^>^ parameters
)
abstract SqlQuery : 
        sql:string * 
        parameters:Object[] -> DbSqlQuery<'TEntity> 
override SqlQuery : 
        sql:string * 
        parameters:Object[] -> DbSqlQuery<'TEntity> 
public function SqlQuery(
    sql : String, 
    ... parameters : Object[]
) : DbSqlQuery<TEntity>

Paramètres

  • parameters
    Type : System.Object[]
    Paramètres à appliquer à la chaîne de requête SQL. Si des paramètres de sortie sont utilisés, leurs valeurs ne seront disponibles qu'après lecture complète des résultats. Cela est dû au comportement sous-jacent de DbDataReader. Pour plus d'informations, consultez https://go.microsoft.com/fwlink/?LinkID=398589.

Valeur de retour

Type : System.Data.Entity.Infrastructure.DbSqlQuery<TEntity>
Objet DbSqlQuery<TEntity> qui exécute la requête lorsqu'il est énuméré.

Voir aussi

Référence

DbSet<TEntity> Classe

Espace de noms System.Data.Entity