![](/img/trans.png)
[英]ASP.NET MVC4 return output from a stored procedure with Entity Framework
[英]MVC4 return a stored procedure output with linq to sql
我在ASP.NET MVC4下的線程下有類似的問題, 使用實體框架從存儲過程返回輸出
我嘗試過同樣的事情,但出現錯誤:
無法將void分配給上的隱式類型的局部變量
這是我的程序:
create PROCEDURE [dbo].[usp_UpdateValuesInTables]
(
@s_clientid int,
@success int output
)
AS
BEGIN
Begin Try
BEGIN TRAN
---- sql statements
COMMIT TRAN
set @success=1
End Try
Begin Catch
ROLLBACK TRAN
set @success=0
End Catch
END
和C#代碼
int? success = null;
var successCode = Context.usp_UpdateValuesInTables(Convert.ToInt32(obj.SourceClientDropDown),ref success);
為什么會出現該錯誤?
如果我嘗試用int
替換var
,那么我會報錯
無法將類型void隱式轉換為int
嘗試這個:
int? success = null;
Context.usp_UpdateValuesInTables(Convert.ToInt32(obj.SourceClientDropDown),ref success);
var successCode = success; //success is the returned result.
您的問題是存儲過程實際上沒有返回值,但是Entity Framework無法Void
返回。 您需要確保在存儲過程中使用SET NOCOUNT ON
,以便Entity Framework可以確定Void
返回並在其中映射默認值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.