Freigeben über


ObjectContext.ExecuteStoreQuery<TElement>-Methode (String, String, ExecutionOptions, 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 eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus. Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben. Wenn kein Entitätenmengenname angegeben wird, werden die Ergebnisse nach Kontext nachverfolgt. 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.ExecuteStoreQuery&lt;Post&gt;("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.ExecuteStoreQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

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

Syntax

'Declaration
Public Overridable Function ExecuteStoreQuery(Of TElement) ( _
    commandText As String, _
    entitySetName As String, _
    executionOptions As ExecutionOptions, _
    ParamArray parameters As Object() _
) As ObjectResult(Of TElement)
'Usage
Dim instance As ObjectContext 
Dim commandText As String 
Dim entitySetName As String 
Dim executionOptions As ExecutionOptions 
Dim parameters As Object()
Dim returnValue As ObjectResult(Of TElement)

returnValue = instance.ExecuteStoreQuery(commandText, _
    entitySetName, executionOptions, _
    parameters)
public virtual ObjectResult<TElement> ExecuteStoreQuery<TElement>(
    string commandText,
    string entitySetName,
    ExecutionOptions executionOptions,
    params Object[] parameters
)
public:
generic<typename TElement>
virtual ObjectResult<TElement>^ ExecuteStoreQuery(
    String^ commandText, 
    String^ entitySetName, 
    ExecutionOptions^ executionOptions, 
    ... array<Object^>^ parameters
)
abstract ExecuteStoreQuery : 
        commandText:string * 
        entitySetName:string * 
        executionOptions:ExecutionOptions * 
        parameters:Object[] -> ObjectResult<'TElement> 
override ExecuteStoreQuery : 
        commandText:string * 
        entitySetName:string * 
        executionOptions:ExecutionOptions * 
        parameters:Object[] -> ObjectResult<'TElement> 
JScript does not support generic types and methods.

Typparameter

  • TElement
    Der Elementtyp der Ergebnissequenz.

Parameter

  • commandText
    Typ: System.String
    Die in der systemeigenen Abfragesprache des Servers angegebene Abfrage.
  • entitySetName
    Typ: System.String
    Die Entitätenmenge vom TResult-Typ. Wenn kein Entitätenmengenname angegeben wird, werden die Ergebnisse nicht nachverfolgt.
  • parameters
    Typ: System.Object[]
    Die für die Abfrage zu verwendenden Parameterwerte. 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.Core.Objects.ObjectResult<TElement>
Eine Aufzählung von Objekten vom Typ TElement.

Siehe auch

Verweis

ObjectContext Klasse

ExecuteStoreQuery-Überladung

System.Data.Entity.Core.Objects-Namespace