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

如何使用DbContext.Database.SqlQuery正確執行帶參數的預存程序?

Linda Hamilton
Linda Hamilton原創
2025-01-17 11:52:09993瀏覽

How to Correctly Execute Stored Procedures with Parameters using DbContext.Database.SqlQuery?

使用DbContext.Database.SqlQuery執行帶參數的預存程序

DbContext.Database.SqlQuery(sql, params) 方法允許執行資料庫查詢並將結果傳回作為指定類型的物件。雖然使用者提供的程式碼範例嘗試呼叫帶有三個參數的預存過程,但由於參數指定不正確而失敗。

要使用此方法成功執行帶參數的預存過程,應將參數作為SqlParameter實例提供。正確的語法如下:

<code class="language-csharp">context.Database.SqlQuery<我的实体类型>(
    "我的存储过程名称 @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);</code>

在此修改後的程式碼中,sql 參數包含以「@」為前綴的參數名稱。 new SqlParameter 實例的後續參數指定要替換的參數名稱以及該參數的值。

透過這種方法,可以提供預存程序的預期參數,從而允許成功執行查詢並將結果作為指定類型的物件傳回。

以上是如何使用DbContext.Database.SqlQuery正確執行帶參數的預存程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn