Condividi tramite


Metodo Database.SqlQuery (Type, String, Object[])

[Questa pagina è specifica della versione 6 di Entity Framework. La versione più recente è disponibile come pacchetto NuGet per "Entity Framework". Per ulteriori informazioni su Entity Framework, vedere la pagina msdn.com/data/ef.]

Crea una query SQL non elaborata che restituirà gli elementi del tipo specificato. Il tipo può essere un qualsiasi tipo che dispone di proprietà che corrispondono ai nomi delle colonne restituite dalla query o può essere un semplice tipo primitivo. Non è necessario che il tipo sia un tipo di entità. I risultati di questa query non verranno mai rilevati dal contesto anche se il tipo di oggetto restituito è un tipo di entità. Usare il metodo SqlQuery(String, Object[]) per restituire le entità rilevate dal contesto. Come con qualsiasi API che accetta SQL, è importante parametrizzare un input utente in modo da fornire protezione da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi fornire i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri forniti verranno convertiti automaticamente in DbParameter. context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); in alternativa, è inoltre possibile costruire un oggetto DbParameter e fornirlo a SqlQuery. In questo modo è possibile usare i parametri denominati nella stringa di query SQL. context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Spazio dei nomi:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Sintassi

'Dichiarazione
Public Function SqlQuery ( _
    elementType As Type, _
    sql As String, _
    ParamArray parameters As Object() _
) As DbRawSqlQuery
'Utilizzo
Dim instance As Database 
Dim elementType As Type 
Dim sql As String 
Dim parameters As Object()
Dim returnValue As DbRawSqlQuery 

returnValue = instance.SqlQuery(elementType, _
    sql, parameters)
public DbRawSqlQuery SqlQuery(
    Type elementType,
    string sql,
    params Object[] parameters
)
public:
DbRawSqlQuery^ SqlQuery(
    Type^ elementType, 
    String^ sql, 
    ... array<Object^>^ parameters
)
member SqlQuery : 
        elementType:Type * 
        sql:string * 
        parameters:Object[] -> DbRawSqlQuery
public function SqlQuery(
    elementType : Type, 
    sql : String, 
    ... parameters : Object[]
) : DbRawSqlQuery

Parametri

  • elementType
    Tipo: System.Type
    Tipo di oggetto restituito dalla query.
  • parameters
    Tipo: System.Object[]
    Parametri da applicare alla stringa di query SQL. Se si usano parametri di output, i relativi valori non saranno disponibili fino alla lettura completa dei risultati. Questo è dovuto al comportamento sottostante di DbDataReader. Per altre informazioni, vedi https://go.microsoft.com/fwlink/?LinkID=398589.

Valore restituito

Tipo: System.Data.Entity.Infrastructure.DbRawSqlQuery
Oggetto DbRawSqlQuery che eseguirà la query quando viene enumerato.

Vedere anche

Riferimento

Database Classe

Overload SqlQuery

Spazio dei nomi System.Data.Entity