Database.ExecuteSqlCommand-Methode (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.]
Führt den angegebenen DDL-/DML-Befehl für die Datenbank aus. 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.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 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.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Namespace: System.Data.Entity
Assembly: EntityFramework (in EntityFramework.dll)
Syntax
'Declaration
Public Function ExecuteSqlCommand ( _
sql As String, _
ParamArray parameters As Object() _
) As Integer
'Usage
Dim instance As Database
Dim sql As String
Dim parameters As Object()
Dim returnValue As Integer
returnValue = instance.ExecuteSqlCommand(sql, _
parameters)
public int ExecuteSqlCommand(
string sql,
params Object[] parameters
)
public:
int ExecuteSqlCommand(
String^ sql,
... array<Object^>^ parameters
)
member ExecuteSqlCommand :
sql:string *
parameters:Object[] -> int
public function ExecuteSqlCommand(
sql : String,
... parameters : Object[]
) : int
Parameter
- sql
Typ: System.String
Die Befehlszeichenfolge.
- parameters
Typ: System.Object[]
Die Parameter, die auf die Befehlszeichenfolge angewendet werden sollen.
Rückgabewert
Typ: System.Int32
Das nach Ausführen des Befehls von der Datenbank zurückgegebene Ergebnis.
Hinweise
Wenn es keine vorhandene lokale oder Ambient-Transaktion gibt, wird eine neue Transaktion verwendet, um den Befehl auszuführen.