ObjectContext.ExecuteStoreQuery 方法

定義

多載

名稱 Description
ExecuteStoreQuery<TElement>(String, Object[])

直接對資料來源執行查詢,回傳一連串型別結果。

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

直接對資料來源執行查詢,並回傳一連串有型別的結果。 指定實體集合和合併選項,讓查詢結果能被追蹤為實體。

ExecuteStoreQuery<TElement>(String, Object[])

直接對資料來源執行查詢,回傳一連串型別結果。

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

回傳資料的類型。

參數

commandText
String

執行指令,使用資料來源的原生語言。

parameters
Object[]

一組參數陣列,要傳遞給指令。

傳回

ObjectResult<TElement>

一種類型的 TElement物件的枚舉。

備註

ExecuteStoreQuery 方法利用現有連線直接對資料來源執行任意指令。 如果存在此類交易,store 指令會在當前交易的情境中執行。

呼叫該ExecuteStoreQuery方法等同於呼叫ExecuteReader類別的方法DbCommand,僅ExecuteStoreQuery回傳實體及ExecuteReader回傳屬性值。DbDataReader

如果你想追蹤結果,請用指定的實體集合名稱呼叫 。ExecuteStoreQuery

當讀取器包含對應到指定實體類型的資料列時,呼叫 Translate 將 A DbDataReader 轉譯成實體物件的方法。

使用參數型命令 (Parameterized Command) 有助於防衛 SQL 插入式攻擊,在此類攻擊中,攻擊者會將命令「插入」至 SQL 陳述式而危及伺服器的安全。 參數化指令透過確保從外部來源接收的值僅以值形式傳遞,而非 SQL 陳述式的一部分,來防止 SQL 注入攻擊。 因此,插入到值中的 SQL 指令不會在資料來源處執行。 相反地,它們僅作為參數值來評估。 除了安全性的好處外,參數化指令還提供了一種方便的方式來組織以 SQL 陳述式或儲存程序傳遞的值。

這個 parameters 值可以是物件陣列 DbParameter ,也可以是參數值陣列。 若只提供值,則會根據陣列中值的順序建立一個物件陣列 DbParameter

適用於

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

直接對資料來源執行查詢,並回傳一連串有型別的結果。 指定實體集合和合併選項,讓查詢結果能被追蹤為實體。

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)

類型參數

TEntity

回傳資料的實體類型。

參數

commandText
String

執行指令,使用資料來源的原生語言。

entitySetName
String

該類型的實體集合 TEntity 。 若未提供實體集合名稱,結果將無法被追蹤。

mergeOption
MergeOption

執行查詢時要用的 MergeOption 。 預設值為 AppendOnly

parameters
Object[]

一組參數陣列,要傳遞給指令。

傳回

ObjectResult<TEntity>

一種類型的 TResult物件的枚舉。

備註

ExecuteStoreQuery 方法利用現有連線直接對資料來源執行任意指令。 如果存在此類交易,store 指令會在當前交易的情境中執行。

呼叫該ExecuteStoreQuery方法等同於呼叫ExecuteReader類別的方法DbCommand,僅ExecuteStoreQuery回傳實體及ExecuteReader回傳屬性值。DbDataReader

如果你想讓結果被追蹤為實體,請指定實體集合名稱。

當讀取器包含對應到指定實體類型的資料列時,呼叫 Translate 將 轉 DbDataReader 譯為實體物件的方法。

使用參數型命令 (Parameterized Command) 有助於防衛 SQL 插入式攻擊,在此類攻擊中,攻擊者會將命令「插入」至 SQL 陳述式而危及伺服器的安全。 參數化指令透過確保從外部來源接收的值僅以值形式傳遞,而非 SQL 陳述式的一部分,來防止 SQL 注入攻擊。 因此,插入到值中的 SQL 指令不會在資料來源處執行。 相反地,它們僅作為參數值來評估。 除了安全性的好處外,參數化指令還提供了一種方便的方式來組織以 SQL 陳述式或儲存程序傳遞的值。

這個 parameters 值可以是物件陣列 DbParameter ,也可以是參數值陣列。 若只提供值,則會根據陣列中值的順序建立一個物件陣列 DbParameter

適用於