從實體框架中的預存程序擷取資料
使用Entity Framework 6.1.1 處理動態SQL 儲存程序時,擷取資料可以是一個挑戰。常見的情況是嘗試使用預存程序中的資料填入 GridView 控件,但由於結果集為空而遇到異常。
要解決此問題,需要將預存程序作為 Function 導入實體模型。請依照以下步驟操作:
在新增函數匯入對話方塊中,指定以下內容:
在後面的程式碼中:
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中文網其他相關文章!