我在ASP.NET MVC4 return output from a stored procedure with Entity Framework下的线程遇到类似的问题

我尝试过同样的事情,但出现错误:


  无法将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);


为什么会出现该错误?

如果我尝试将var替换为int,则出现错误


  无法将类型void隐式转换为int

最佳答案

尝试这个:

int? success = null;
Context.usp_UpdateValuesInTables(Convert.ToInt32(obj.SourceClientDropDown),ref success);
var successCode = success; //success is the returned result.

关于c# - MVC4将带有linq的存储过程输出返回到sql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19077762/

10-13 09:23