問題:
開發人員在使用實體框架時從儲存程序中擷取資料時遇到困難(EF),導致空資料集(-1),而不是預期的資料。
預存程序:
ALTER PROCEDURE dbo.SearchProducts @SearchTerm VARCHAR(max) AS BEGIN DECLARE @query VARCHAR(max) SET @query = 'SELECT * FROM dbo.Products WHERE Name LIKE ''%' + @SearchTerm + '%''' EXEC(@query) END
C# 程式碼:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.SearchProducts(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
解決方案🎜>要解決此問題,請依照下列步驟操作步驟:
將儲存程序匯入為函數:
更新背後的程式碼:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); // Search_Products is the name specified in the Function Import dialog MyGridView.DataSource = result; MyGridView.DataBind();
以上是如何使用實體框架從預存程序中檢索資料而不取得空資料集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!