0
我試圖將實體框架6引入完全依賴存儲過程的遺留系統。通過EF6調用存儲過程,其中存儲過程調用另一個過程的結果
我有一個存儲過程生成一個查詢,然後將它傳遞給第二個查詢來處理所有的分頁需求。問題是,當我將存儲過程添加到模型時,框架檢測到返回類型爲2列(varchar(4000)
& varchar(100)
),而不是在執行查詢時返回的實際數據集。
當我嘗試運行代碼時,首先,即時調試器在w3wp.exe中發生了一些未處理的win32異常。
然後,當我取消調試我看到錯誤消息
數據讀取器是與指定的「TFS_DevModel.spi_QualSearch_Result」不相容。類型爲'provider_code'的成員在數據讀取器中沒有相應的列,名稱相同。
存儲過程如下:
declare @SQL varchar(5000),
@SearchCriteria varchar(1000)
-- build the sorting expression
-- various checks to append criteria based on input parameters
SELECT @SQL = 'select column1, column2, etc from tables ' +
@SearchCriteria
execute PagingProc @SQL, @sort_expression, [paging parameters]
我試圖定義一個複雜類型,以適應由尋呼過程實際上返回的數據,但我得到了同樣的錯誤。
有誰知道我想要做什麼是可能的?或者我應該考慮重構存儲過程嗎?
我不確定這是否會有所幫助,因爲我在w3wp過程中遇到異常。我不明白這是如何通過存儲過程返回第二個SP的結果來幫助生成實體模型的。無論如何,我們已經走了另一條路,謝謝回答。 – 2014-11-02 19:40:17