2017-05-30 111 views
0

問題是許多存儲過程必須返回狀態碼。 哪個標記爲從實體框架中的SP獲取由RET返回的返回值C#

RETURN @status 

所以EF(6.x的)不承認返回類型和SP調用返回修改的行數(例如1,2等)

替換的解決方法返回到選擇是不可能

更改EF調用ADO.NET IMPOSSIBLE

因此,有任何解決方法可以從SP中獲得正確的值,而無需修改SP

+0

也試圖恰克功能導入設置返回類型的Int32得到錯誤的存儲數據提供程序返回的數據讀取器不具有足夠的列查詢請求。 下面的鏈接顯示相同的答案 https://social.msdn.microsoft.com/Forums/en-US/c4b85efc-a381-4595-8ae9-185378e4ef17/the-data-reader-returned-by-the -store-data-provider-does-not-have-enough-enough-columns-for-the-query?forum = adodotnetentityframework –

+0

@SeanLange什麼? –

+1

由於發佈此問題根本沒有任何意義。你想做什麼? –

回答

0

我在猜測您正在使用數據庫方法。從設計者可以指定存儲過程的返回類型。請參閱此問題here瞭解更多詳情。

請記住,你不會需要return一部分,只是擺在那裏select @status

+0

將RETURN替換爲SELECT的解決方法是不可能的 - 這是標記問題! –

+0

是否有可能創造另一個過程作爲一個包裝過程,這將有選擇的部分,所以你可以有這樣的事'CREATE PROCEDURE [DBO]。[prc_example] ( \t @id INT ) AS BEGIN DECLARE @ReturnValue INT EXEC @ReturnValue = CallAnotherProc @id SELECT @ReturnValue; END'否則你必須使用'Database.SqlQuery (查詢)'語法 –

+0

否我無法修改或添加新的數據庫 –