ObjectContext.ExecuteStoreQuery 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | 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[]
一組參數陣列,要傳遞給指令。
傳回
一種類型的 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[]
一組參數陣列,要傳遞給指令。
傳回
一種類型的 TResult物件的枚舉。
備註
此 ExecuteStoreQuery 方法利用現有連線直接對資料來源執行任意指令。 如果存在此類交易,store 指令會在當前交易的情境中執行。
呼叫該ExecuteStoreQuery方法等同於呼叫ExecuteReader類別的方法DbCommand,僅ExecuteStoreQuery回傳實體及ExecuteReader回傳屬性值。DbDataReader
如果你想讓結果被追蹤為實體,請指定實體集合名稱。
當讀取器包含對應到指定實體類型的資料列時,呼叫 Translate 將 轉 DbDataReader 譯為實體物件的方法。
使用參數型命令 (Parameterized Command) 有助於防衛 SQL 插入式攻擊,在此類攻擊中,攻擊者會將命令「插入」至 SQL 陳述式而危及伺服器的安全。 參數化指令透過確保從外部來源接收的值僅以值形式傳遞,而非 SQL 陳述式的一部分,來防止 SQL 注入攻擊。 因此,插入到值中的 SQL 指令不會在資料來源處執行。 相反地,它們僅作為參數值來評估。 除了安全性的好處外,參數化指令還提供了一種方便的方式來組織以 SQL 陳述式或儲存程序傳遞的值。
這個 parameters 值可以是物件陣列 DbParameter ,也可以是參數值陣列。 若只提供值,則會根據陣列中值的順序建立一個物件陣列 DbParameter 。