首頁 > 資料庫 > mysql教程 > 如何正確使用 DbContext.Database.SqlQuery 與預存程序參數?

如何正確使用 DbContext.Database.SqlQuery 與預存程序參數?

Susan Sarandon
發布: 2025-01-17 12:06:14
原創
533 人瀏覽過

How to Correctly Use DbContext.Database.SqlQuery with Stored Procedure Parameters?

EF Code First CTP5:使用帶預存程序參數的DbContext.Database.SqlQuery(sql, params)

問題:

開發人員嘗試使用帶有預存程序的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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板