ObjectContext.ExecuteStoreQuery ObjectContext.ExecuteStoreQuery ObjectContext.ExecuteStoreQuery ObjectContext.ExecuteStoreQuery Method

定義

オーバーロード

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

型指定された結果のシーケンスを返すデータ ソースに対して、クエリを直接実行します。Executes a query directly against the data source that returns a sequence of typed results.

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

データ ソースに対してクエリを直接実行し、型指定された結果のシーケンスを返します。Executes a query directly against the data source and returns a sequence of typed results. クエリの結果をエンティティとして追跡できるように、エンティティ セットとマージ オプションを指定します。Specify the entity set and the merge option so that query results can be tracked as entities.

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

型指定された結果のシーケンスを返すデータ ソースに対して、クエリを直接実行します。Executes a query directly against the data source that returns a sequence of typed results.

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)

型パラメーター

TElement

返されるデータの型。The type of the returned data.

パラメーター

commandText
String String String String

実行するコマンド。データ ソースのネイティブ言語で指定します。The command to execute, in the native language of the data source.

parameters
Object[]

コマンドに渡すパラメーターの配列。An array of parameters to pass to the command.

戻り値

ObjectResult<TElement>

TElement 型のオブジェクトの列挙体。An enumeration of objects of type TElement.

注釈

ExecuteStoreQueryメソッドでは、既存の接続を使用して、任意のデータ ソースに対して直接コマンドを実行します。The ExecuteStoreQuery method uses the existing connection to execute an arbitrary command directly against the data source. 現在トランザクションを実行している場合は、そのトランザクションのコンテキストで格納コマンドが実行されます。The store command is executed in the context of the current transaction, if such a transaction exists.

ExecuteStoreQuery メソッドの呼び出しは、ExecuteReader クラスの DbCommand メソッドを呼び出すことと同じです。ExecuteStoreQuery のみがエンティティを返し、ExecuteReaderDbDataReader のプロパティ値を返します。Calling the ExecuteStoreQuery method is equivalent to calling the ExecuteReader method of the DbCommand class, only ExecuteStoreQuery returns entities and the ExecuteReader returns property values in the DbDataReader.

呼び出す、ExecuteStoreQueryで指定されたエンティティ セット名、結果を追跡する場合。Call the ExecuteStoreQuery with the specified entity set name, if you want for the results to be tracked.

呼び出す、Translateに変換するメソッド、DbDataReaderリーダーには、指定したエンティティ型にマップされるデータ行が含まれている場合、エンティティ オブジェクトにします。Call the Translate method to translate a DbDataReader into entity objects when the reader contains data rows that map to the specified entity type.

パラメーター化コマンドは SQL インジェクション攻撃への対策として利用できます。SQL インジェクション攻撃は、SQL ステートメントに、サーバーのセキュリティを侵害するコマンドを "注入" することによって行われます。Using parameterized commands helps guard against SQL injection attacks, in which an attacker "injects" a command into a SQL statement that compromises security on the server. パラメーター化コマンドは、値のみ、および SQL ステートメントの一部ではなく、外部ソースから受信した値が渡されることが保証され、SQL インジェクション攻撃を防ぐ。Parameterized commands guard against a SQL injection attack by guaranteeing that values received from an external source are passed as values only, and not part of the SQL statement. その結果、SQL コマンドの値に挿入されたは、データ ソースでは実行されません。As a result, SQL commands inserted into a value are not executed at the data source. これらはパラメーター値としてのみ処理されます。Rather, they are evaluated only as a parameter value. だけでなく、セキュリティ上の利点は、パラメーター化されたコマンドは、SQL ステートメントまたはストアド プロシージャに渡された値を整理するための便利なメソッドを提供します。In addition to the security benefits, parameterized commands provide a convenient method for organizing values passed with a SQL statement or to a stored procedure.

parameters の値には、DbParameter オブジェクトの配列か、パラメーター値の配列を使用できます。The parameters value can be an array of DbParameter objects or an array of parameter values. 値が提供されるだけの場合、配列のDbParameterオブジェクトは、配列内の値の順序に基づいて作成されます。If only values are supplied, an array of DbParameter objects are created based on the order of the values in the array.

詳細については次を参照してください:For more information, see:

格納コマンドを直接実行Directly Executing Store Commands and

方法: データ ソースに対してコマンドを直接実行します。How to: Directly Execute Commands Against the Data Source

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

データ ソースに対してクエリを直接実行し、型指定された結果のシーケンスを返します。Executes a query directly against the data source and returns a sequence of typed results. クエリの結果をエンティティとして追跡できるように、エンティティ セットとマージ オプションを指定します。Specify the entity set and the merge option so that query results can be tracked as entities.

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>

型パラメーター

TEntity

返されるデータのエンティティ型。The entity type of the returned data.

パラメーター

commandText
String String String String

実行するコマンド。データ ソースのネイティブ言語で指定します。The command to execute, in the native language of the data source.

entitySetName
String String String String

TEntity 型のエンティティ セット。The entity set of the TEntity type. エンティティ セットの名前を指定しない場合、結果は追跡されません。If an entity set name is not provided, the results are not going to be tracked.

mergeOption
MergeOption MergeOption MergeOption MergeOption

クエリの実行時に使用する MergeOptionThe MergeOption to use when executing the query. 既定値は、AppendOnly です。The default is AppendOnly.

parameters
Object[]

コマンドに渡すパラメーターの配列。An array of parameters to pass to the command.

戻り値

ObjectResult<TEntity>

TResult 型のオブジェクトの列挙体。An enumeration of objects of type TResult.

注釈

ExecuteStoreQueryメソッドでは、既存の接続を使用して、任意のデータ ソースに対して直接コマンドを実行します。The ExecuteStoreQuery method uses the existing connection to execute an arbitrary command directly against the data source. 現在トランザクションを実行している場合は、そのトランザクションのコンテキストで格納コマンドが実行されます。The store command is executed in the context of the current transaction, if such a transaction exists.

ExecuteStoreQuery メソッドの呼び出しは、ExecuteReader クラスの DbCommand メソッドを呼び出すことと同じです。ExecuteStoreQuery のみがエンティティを返し、ExecuteReaderDbDataReader のプロパティ値を返します。Calling the ExecuteStoreQuery method is equivalent to calling the ExecuteReader method of the DbCommand class, only ExecuteStoreQuery returns entities and the ExecuteReader returns property values in the DbDataReader.

結果をエンティティとして追跡する場合、エンティティ セット名を指定します。Specify the entity set name, if you want for the results to be tracked as entities.

呼び出すTranslateに変換するメソッド、DbDataReaderリーダーには、指定したエンティティ型にマップされるデータ行が含まれている場合、エンティティ オブジェクトにします。Call Translate method to translate a DbDataReader into entity objects when the reader contains data rows that map to the specified entity type.

パラメーター化コマンドは SQL インジェクション攻撃への対策として利用できます。SQL インジェクション攻撃は、SQL ステートメントに、サーバーのセキュリティを侵害するコマンドを "注入" することによって行われます。Using parameterized commands helps guard against SQL injection attacks, in which an attacker "injects" a command into a SQL statement that compromises security on the server. パラメーター化コマンドは、値のみ、および SQL ステートメントの一部ではなく、外部ソースから受信した値が渡されることが保証され、SQL インジェクション攻撃を防ぐ。Parameterized commands guard against a SQL injection attack by guaranteeing that values received from an external source are passed as values only, and not part of the SQL statement. その結果、SQL コマンドの値に挿入されたは、データ ソースでは実行されません。As a result, SQL commands inserted into a value are not executed at the data source. これらはパラメーター値としてのみ処理されます。Rather, they are evaluated only as a parameter value. だけでなく、セキュリティ上の利点は、パラメーター化されたコマンドは、SQL ステートメントまたはストアド プロシージャに渡された値を整理するための便利なメソッドを提供します。In addition to the security benefits, parameterized commands provide a convenient method for organizing values passed with a SQL statement or to a stored procedure.

parameters の値には、DbParameter オブジェクトの配列か、パラメーター値の配列を使用できます。The parameters value can be an array of DbParameter objects or an array of parameter values. 値が提供されるだけの場合、配列のDbParameterオブジェクトは、配列内の値の順序に基づいて作成されます。If only values are supplied, an array of DbParameter objects are created based on the order of the values in the array.

詳細については次を参照してください:For more information, see:

格納コマンドを直接実行Directly Executing Store Commands and

方法: データ ソースに対してコマンドを直接実行します。How to: Directly Execute Commands Against the Data Source

適用対象