ObjectContext.ExecuteStoreQuery Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
ExecuteStoreQuery<TElement>(String, Object[]) |
Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus. |
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[]) |
Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus. Geben Sie die Entitätenmenge und die Zusammenführungsoption an, damit Abfrageergebnisse als Entitäten nachverfolgt werden können. |
ExecuteStoreQuery<TElement>(String, Object[])
Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus.
public:
generic <typename TElement>
System::Data::Objects::ObjectResult<TElement> ^ ExecuteStoreQuery(System::String ^ commandText, ... cli::array <System::Object ^> ^ parameters);
public System.Data.Objects.ObjectResult<TElement> ExecuteStoreQuery<TElement> (string commandText, params object[] parameters);
member this.ExecuteStoreQuery : string * obj[] -> System.Data.Objects.ObjectResult<'Element>
Public Function ExecuteStoreQuery(Of TElement) (commandText As String, ParamArray parameters As Object()) As ObjectResult(Of TElement)
Typparameter
- TElement
Der Typ der zurückgegebenen Daten.
Parameter
- commandText
- String
Der auszuführende Befehl in der systemeigenen Sprache der Datenquelle.
- parameters
- Object[]
Ein Parameterarray, das an den Befehl übergeben werden soll.
Gibt zurück
Eine Enumeration von Objekten vom Typ TElement
.
Hinweise
Die ExecuteStoreQuery -Methode verwendet die vorhandene Verbindung, um einen beliebigen Befehl direkt für die Datenquelle auszuführen. Der Speicherbefehl wird im Kontext der aktuellen Transaktion ausgeführt, wenn eine solche Transaktion vorhanden ist.
Der Aufruf der ExecuteStoreQuery-Methode entspricht dem Aufruf der ExecuteReader-Methode der DbCommand-Klasse, nur gibt die ExecuteStoreQuery-Methode Entitäten zurück und die ExecuteReader-Methode gibt Eigenschaftswerte im DbDataReader zurück.
Rufen Sie den ExecuteStoreQuery mit dem angegebenen Entitätssatznamen auf, wenn die Ergebnisse nachverfolgt werden sollen.
Rufen Sie die Translate -Methode auf, um ein DbDataReader in Entitätsobjekte zu übersetzen, wenn der Reader Datenzeilen enthält, die dem angegebenen Entitätstyp zugeordnet sind.
Die Verwendung parametrisierter Befehle hilft beim Schutz vor SQL Injection-Angriffen, bei denen ein Angreifer einen SQL-Befehl in eine SQL-Anweisung einschleust, der die Sicherheit auf dem Server gefährdet. Parametrisierte Befehle schützen vor einem SQL-Einschleusungsangriff, indem sie sicherstellen, dass von einer externen Quelle empfangene Werte nur als Werte und nicht als Teil der SQL-Anweisung übergeben werden. Daher werden SQL-Befehle, die in einen Wert eingefügt werden, nicht an der Datenquelle ausgeführt. Stattdessen werden sie nur als Parameterwert ausgewertet. Zusätzlich zu den Sicherheitsvorteilen bieten parametrisierte Befehle eine praktische Methode zum Organisieren von Werten, die mit einer SQL-Anweisung oder einer gespeicherten Prozedur übergeben werden.
Der parameters
-Wert kann ein Array von DbParameter-Objekten oder ein Array von Parameterwerten sein. Wenn nur Werte angegeben werden, wird ein Array von DbParameter Objekten basierend auf der Reihenfolge der Werte im Array erstellt.
Weitere Informationen finden Sie in folgenden Quellen:
Direktes Ausführen von Storebefehlen und
Gewusst wie: Direktes Ausführen von Befehlen für die Datenquelle
Gilt für:
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])
Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus. Geben Sie die Entitätenmenge und die Zusammenführungsoption an, damit Abfrageergebnisse als Entitäten nachverfolgt werden können.
public:
generic <typename TEntity>
System::Data::Objects::ObjectResult<TEntity> ^ ExecuteStoreQuery(System::String ^ commandText, System::String ^ entitySetName, System::Data::Objects::MergeOption mergeOption, ... cli::array <System::Object ^> ^ parameters);
public System.Data.Objects.ObjectResult<TEntity> ExecuteStoreQuery<TEntity> (string commandText, string entitySetName, System.Data.Objects.MergeOption mergeOption, params object[] parameters);
member this.ExecuteStoreQuery : string * string * System.Data.Objects.MergeOption * obj[] -> System.Data.Objects.ObjectResult<'Entity>
Public Function ExecuteStoreQuery(Of TEntity) (commandText As String, entitySetName As String, mergeOption As MergeOption, ParamArray parameters As Object()) As ObjectResult(Of TEntity)
Typparameter
- TEntity
Der Entitätstyp der zurückgegebenen Daten.
Parameter
- commandText
- String
Der auszuführende Befehl in der systemeigenen Sprache der Datenquelle.
- entitySetName
- String
Die Entitätenmenge vom TEntity
-Typ. Wenn kein Entitätenmengenname angegeben wird, werden die Ergebnisse nicht nachverfolgt.
- mergeOption
- MergeOption
Die beim Ausführen der Abfrage zu verwendende MergeOption. Der Standardwert ist AppendOnly.
- parameters
- Object[]
Ein Parameterarray, das an den Befehl übergeben werden soll.
Gibt zurück
Eine Enumeration von Objekten vom Typ TResult
.
Hinweise
Die ExecuteStoreQuery -Methode verwendet die vorhandene Verbindung, um einen beliebigen Befehl direkt für die Datenquelle auszuführen. Der Speicherbefehl wird im Kontext der aktuellen Transaktion ausgeführt, wenn eine solche Transaktion vorhanden ist.
Der Aufruf der ExecuteStoreQuery-Methode entspricht dem Aufruf der ExecuteReader-Methode der DbCommand-Klasse, nur gibt die ExecuteStoreQuery-Methode Entitäten zurück und die ExecuteReader-Methode gibt Eigenschaftswerte im DbDataReader zurück.
Geben Sie den Entitätssatznamen an, wenn die Ergebnisse als Entitäten nachverfolgt werden sollen.
Rufen Sie Translate die Methode auf, um eine DbDataReader in Entitätsobjekte zu übersetzen, wenn der Reader Datenzeilen enthält, die dem angegebenen Entitätstyp zugeordnet sind.
Die Verwendung parametrisierter Befehle hilft beim Schutz vor SQL Injection-Angriffen, bei denen ein Angreifer einen SQL-Befehl in eine SQL-Anweisung einschleust, der die Sicherheit auf dem Server gefährdet. Parametrisierte Befehle schützen vor einem SQL-Einschleusungsangriff, indem sie sicherstellen, dass von einer externen Quelle empfangene Werte nur als Werte und nicht als Teil der SQL-Anweisung übergeben werden. Daher werden SQL-Befehle, die in einen Wert eingefügt werden, nicht an der Datenquelle ausgeführt. Stattdessen werden sie nur als Parameterwert ausgewertet. Zusätzlich zu den Sicherheitsvorteilen bieten parametrisierte Befehle eine praktische Methode zum Organisieren von Werten, die mit einer SQL-Anweisung oder einer gespeicherten Prozedur übergeben werden.
Der parameters
-Wert kann ein Array von DbParameter-Objekten oder ein Array von Parameterwerten sein. Wenn nur Werte angegeben werden, wird ein Array von DbParameter Objekten basierend auf der Reihenfolge der Werte im Array erstellt.
Weitere Informationen finden Sie in folgenden Quellen:
Direktes Ausführen von Storebefehlen und
Gewusst wie: Direktes Ausführen von Befehlen für die Datenquelle