使用實體框架從預存程序存取資料
本文解決了使用實體框架6.1 從動態SQL 儲存過程中擷取資料的挑戰.1 .目標是使用檢索到的資料填充GridView 控制項。
這個場景涉及一個名為 SearchProducts 的預存程序,它接受搜尋字詞作為參數,並根據動態 SQL 查詢傳回結果集。 C# 程式碼嘗試執行預存程序並將結果綁定到 GridView 控制項。
問題
當執行程式碼時,預存程序在資料庫資源管理器但在執行的應用程式中失敗,返回 -1 而不是 IEnumerable DataSet。這表示資料未成功檢索。
解決方案
要解決此問題,需要將預存程序作為實體中的函數匯入模型。步驟如下:
在「新增函數導入」對話方塊中:
更新C#程式碼:
修改後的程式碼:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
說明
實體框架缺乏對儲存的完整支援過程傳回值。將預存程序作為函數導入可以將其視為實體框架方法,可以處理資料的檢索。
以上是如何使用實體框架從預存程序中檢索資料並填入 GridView?的詳細內容。更多資訊請關注PHP中文網其他相關文章!