Freigeben über


Database.SqlQuery-Methode (Type, String, Object[])

[Diese Seite bezieht sich auf Entity Framework Version 6. Die neueste Version ist als 'Entity Framework' NuGet-Paket verfügbar. Weitere Informationen zu Entity Framework finden Sie unter msdn.com/data/ef.]

Erstellt eine unformatierte SQL-Abfrage, die Elemente des angegebenen Typs zurückgibt. Der Typ kann jeder Typ sein, der Eigenschaften aufweist, die mit den Namen der von der Abfrage zurückgegebenen Spalten übereinstimmen, oder es kann ein einfacher primitiver Typ sein. Der Typ muss kein Entitätstyp sein. Die Ergebnisse dieser Abfrage werden nie vom Kontext nachverfolgt, auch wenn der Typ des zurückgegebenen Objekts ein Entitätstyp ist. Verwenden Sie die SqlQuery(String, Object[])-Methode, um Entitäten zurückzugeben, die vom Kontext nachverfolgt werden. Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren. Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben. Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert. context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben. Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden. context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Namespace:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Syntax

'Declaration
Public Function SqlQuery ( _
    elementType As Type, _
    sql As String, _
    ParamArray parameters As Object() _
) As DbRawSqlQuery
'Usage
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

Parameter

  • elementType
    Typ: System.Type
    Der Typ des von der Abfrage zurückgegebenen Objekts.
  • parameters
    Typ: System.Object[]
    Die Parameter, die auf die SQL-Abfragezeichenfolge angewendet werden sollen. Werden Ausgabeparameter verwendet, sind deren Werte erst nach vollständigem Lesen der Ergebnisse verfügbar. Dies liegt an dem zugrundeliegenden Verhalten von DbDataReader; weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?LinkID=398589.

Rückgabewert

Typ: System.Data.Entity.Infrastructure.DbRawSqlQuery
Ein DbRawSqlQuery-Objekt, das die Abfrage ausführt, wenn es aufgelistet wird.

Siehe auch

Verweis

Database Klasse

SqlQuery-Überladung

System.Data.Entity-Namespace