Freigeben über


ObjectContext.ExecuteStoreCommandAsync-Methode (TransactionalBehavior, 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 einen beliebigen Befehl unter Verwendung der vorhandenen Verbindung direkt für die Datenquelle asynchron aus. Der Befehl wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben. 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.ExecuteStoreCommandAsync("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.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

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

Syntax

'Declaration
Public Function ExecuteStoreCommandAsync ( _
    transactionalBehavior As TransactionalBehavior, _
    commandText As String, _
    ParamArray parameters As Object() _
) As Task(Of Integer)
'Usage
Dim instance As ObjectContext 
Dim transactionalBehavior As TransactionalBehavior 
Dim commandText As String 
Dim parameters As Object()
Dim returnValue As Task(Of Integer)

returnValue = instance.ExecuteStoreCommandAsync(transactionalBehavior, _
    commandText, parameters)
public Task<int> ExecuteStoreCommandAsync(
    TransactionalBehavior transactionalBehavior,
    string commandText,
    params Object[] parameters
)
public:
Task<int>^ ExecuteStoreCommandAsync(
    TransactionalBehavior transactionalBehavior, 
    String^ commandText, 
    ... array<Object^>^ parameters
)
member ExecuteStoreCommandAsync : 
        transactionalBehavior:TransactionalBehavior * 
        commandText:string * 
        parameters:Object[] -> Task<int> 
public function ExecuteStoreCommandAsync(
    transactionalBehavior : TransactionalBehavior, 
    commandText : String, 
    ... parameters : Object[]
) : Task<int>

Parameter

  • commandText
    Typ: System.String
    Der in der systemeigenen Abfragesprache des Servers angegebene Befehl.
  • parameters
    Typ: System.Object[]
    Die für die Abfrage zu verwendenden Parameterwerte.

Rückgabewert

Typ: System.Threading.Tasks.Task<Int32>
Eine Aufgabe, die den asynchronen Vorgang darstellt.Das Taskergebnis enthält die Anzahl der betroffenen Zeilen.

Hinweise

Mehrere aktive Vorgänge für dieselbe Kontextinstanz werden nicht unterstützt. Verwenden Sie await, um sicherzustellen, dass sämtliche asynchronen Vorgänge abgeschlossen sind, bevor eine andere Methode in diesem Kontext aufgerufen wird.

Siehe auch

Verweis

ObjectContext Klasse

ExecuteStoreCommandAsync-Überladung

System.Data.Entity.Core.Objects-Namespace