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 です

Management Studio でストアド プロシージャを確認したところ、正しい結果が得られました

誰が私が間違っているのかアドバイスできますか

ありがとう

4

0 に答える 0