0

我无法使用 EF5 从存储过程中捕获返回值

我的 SP 代码是

ALTER PROCEDURE [dbo].[CheckLogin] 
@clubId int,
@userName nvarchar(150),
@password nvarchar(50),
@result INT OUTPUT
AS
BEGIN

IF EXISTS (
            SELECT ID FROM 
            Users 
            WHERE clubId=@clubId 
            AND UserName=@userName 
            AND Password=@password)
BEGIN
    SET @result = 1
END
ELSE
BEGIN
    SET @result = 0
END

SELECT @result
END

我在 C# 中调用

int ok;
        using (var ctx = new ClubEntities())
        {
            var result = new ObjectParameter("result", typeof(double));

            var a = ctx.CheckLogin(model.ClubId, model.UserName, model.Password, result);
            ok = Convert.ToInt32(result.Value);
        }

ok 的值始终为 0

我已经检查了管理工作室中的存储过程,这给了我正确的结果

谁能告诉我哪里出错了

谢谢

4

0 回答 0