EF Code First CTP5:使用帶預存程序參數的DbContext.Database.SqlQuery
問題:
開發人員嘗試使用帶有預存程序的DbContext.Database.SqlQuery方法時,在提供參數方面面臨挑戰。當使用SqlParameter物件時,會拋出SqlException異常,指示參數未如預期提供。
解答:
為了成功地將DbContext.Database.SqlQuery方法與需要參數的預存程序一起使用,應採用以下方法:
解:
不要直接將SqlParameter物件作為參數傳遞,而是修改SQL查詢字串以包含以「@」符號開頭的參數名稱。然後,為每個所需參數建立和指派SqlParameter實例,並將它們作為附加參數提供。
程式碼範例:
以下程式碼片段示範了正確的用法:
<code class="language-c#">context.Database.SqlQuery<我的实体类型>( "mySpName @param1, @param2, @param3", new SqlParameter("param1", param1), new SqlParameter("param2", param2), new SqlParameter("param3", param3) );</code>
此更新後的語法應解決SqlException問題,並允許您使用DbContext.Database.SqlQuery方法從預存程序檢索所需的結果。
以上是如何正確使用 DbContext.Database.SqlQuery 與預存程序參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!