首頁 > 後端開發 > C++ > 如何從實體框架 6.1.1 中的預存程序中檢索資料?

如何從實體框架 6.1.1 中的預存程序中檢索資料?

DDD
發布: 2024-12-29 18:39:10
原創
176 人瀏覽過

How to Retrieve Data from Stored Procedures in Entity Framework 6.1.1?

從實體框架中的預存程序擷取資料

使用Entity Framework 6.1.1 處理動態SQL 儲存程序時,擷取資料可以是一個挑戰。常見的情況是嘗試使用預存程序中的資料填入 GridView 控件,但由於結果集為空而遇到異常。

要解決此問題,需要將預存程序作為 Function 導入實體模型。請依照以下步驟操作:

  1. 右鍵點選實體模型的工作區並選擇新增 -> 函數導入.
  2. 新增函數匯入對話方塊中,指定以下內容:

    • 名稱: 模型中預存程序的參考名稱,例如, "Search_Products"。
    • 功能:選擇動態SQL預存程序。
    • 傳回值:選擇「Entities」並選擇「Products」作為傳回實體type.
  3. 在後面的程式碼中:

    var db = new MyEntities();
    var TEST_SEARCH_TERM = "product";
    var result = db.Search_Products(TEST_SEARCH_TERM); // Search_Products is the name you specified in the Function Import dialog
    
    MyGridView.DataSource = result;
    MyGridView.DataBind();
    登入後複製

透過將預存程序作為函數匯入,實體框架可以決定傳回類型並將其對應到適當的實體。這可確保結果是 IEnumerable DataSet,其中包含預存程序的 SELECT 語句中的對象,讓您可以成功填入 GridView。

需要注意的是,實體框架對預存程序沒有廣泛的支持,因為作為 ORM 的重點,處理預存程序傳回值的能力可能會根據所使用的實體框架的版本而有所不同。

以上是如何從實體框架 6.1.1 中的預存程序中檢索資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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