Freigeben über


ObjectContext.ExecuteStoreQuery Methode

Definition

Überlädt

Name Beschreibung
ExecuteStoreQuery<TElement>(String, Object[])

Führt eine Abfrage direkt für die Datenquelle aus, die eine Abfolge der eingegebenen Ergebnisse zurückgibt.

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

Führt eine Abfrage direkt für die Datenquelle aus und gibt eine Sequenz der eingegebenen Ergebnisse zurück. Geben Sie den Entitätssatz und die Seriendruckoption an, damit Abfrageergebnisse als Entitäten nachverfolgt werden können.

ExecuteStoreQuery<TElement>(String, Object[])

Führt eine Abfrage direkt für die Datenquelle aus, die eine Abfolge der eingegebenen Ergebnisse zurückgibt.

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 nativen Sprache der Datenquelle.

parameters
Object[]

Ein Array von Parametern, die an den Befehl übergeben werden sollen.

Gibt zurück

ObjectResult<TElement>

Eine Aufzählung 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.

Das Aufrufen der ExecuteStoreQuery Methode entspricht dem Aufrufen der ExecuteReader Methode der DbCommand Klasse, gibt nur ExecuteStoreQuery Entitäten und die ExecuteReader Rückgabeeigenschaftenwerte in der DbDataReaderKlasse zurück.

Rufen Sie den ExecuteStoreQuery Namen mit dem angegebenen Entitätssatz auf, wenn die Ergebnisse nachverfolgt werden sollen.

Rufen Sie die Translate Methode auf, um eine DbDataReader in Entitätsobjekte zu übersetzen, wenn der Leser 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-Einfügeangriff, indem sichergestellt wird, dass von einer externen Quelle empfangene Werte nur als Werte und nicht als Teil der SQL-Anweisung übergeben werden. Daher werden in einen Wert eingefügte SQL-Befehle nicht an der Datenquelle ausgeführt. Stattdessen werden sie nur als Parameterwert ausgewertet. Zusätzlich zu den Sicherheitsvorteilen bieten parametrisierte Befehle eine bequeme Methode zum Organisieren von Werten, die mit einer SQL-Anweisung oder an eine gespeicherte 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.

Gilt für:

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

Führt eine Abfrage direkt für die Datenquelle aus und gibt eine Sequenz der eingegebenen Ergebnisse zurück. Geben Sie den Entitätssatz und die Seriendruckoption 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 nativen Sprache der Datenquelle.

entitySetName
String

Der Entitätssatz des TEntity Typs. Wenn kein Entitätssatzname angegeben wird, werden die Ergebnisse nicht nachverfolgt.

mergeOption
MergeOption

Die MergeOption zu verwendende Verwendung beim Ausführen der Abfrage. Der Standardwert lautet AppendOnly.

parameters
Object[]

Ein Array von Parametern, die an den Befehl übergeben werden sollen.

Gibt zurück

ObjectResult<TEntity>

Eine Aufzählung 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.

Das Aufrufen der ExecuteStoreQuery Methode entspricht dem Aufrufen der ExecuteReader Methode der DbCommand Klasse, gibt nur ExecuteStoreQuery Entitäten und die ExecuteReader Rückgabeeigenschaftenwerte in der DbDataReaderKlasse zurück.

Geben Sie den Entitätssatznamen an, wenn die Ergebnisse als Entitäten nachverfolgt werden sollen.

Rufen Sie die Methode Translate auf, um eine DbDataReader in Entitätsobjekte zu übersetzen, wenn der Leser 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-Einfügeangriff, indem sichergestellt wird, dass von einer externen Quelle empfangene Werte nur als Werte und nicht als Teil der SQL-Anweisung übergeben werden. Daher werden in einen Wert eingefügte SQL-Befehle nicht an der Datenquelle ausgeführt. Stattdessen werden sie nur als Parameterwert ausgewertet. Zusätzlich zu den Sicherheitsvorteilen bieten parametrisierte Befehle eine bequeme Methode zum Organisieren von Werten, die mit einer SQL-Anweisung oder an eine gespeicherte 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.

Gilt für: