Получение выходного параметра хранимой процедуры с помощью LINQ и Entity Framework

Я создал хранимую процедуру, которая принимает параметры для создания пользователя. Если пользователь уже существует, он устанавливает выходной параметр как «Пользователь уже существует» и больше ничего не делает.

Теперь я сопоставил эту функцию (InsertNewUser) с моей Entity Framework и вызываю ее так:

context.InsertNewUser(email, name, passwordhash, salt, ???)

??? вот где у меня проблемы. В хранимой процедуре этот параметр является параметром OUTPUT. Я попытался объявить строку, а затем передать «вне объявленную строку», но это было неправильно.

Я не уверен, что поступаю правильно, есть какие-нибудь мысли?

Это хранимая процедура:

ALTER PROCEDURE dbo.InsertNewUser

    (
    @eMail nvarchar(256),
    @firstName nvarchar(256),
    @lastName nvarchar(256),
    @passwordHash nvarchar(256),
    @salt nvarchar(256),
    @output nvarchar(256) OUTPUT
    )

AS
    /* Saves a user to the db. */
    BEGIN
    --First check if the user doesn't exist
    IF EXISTS (SELECT eMail FROM UserSet WHERE eMail = @eMail)  
        --Return that user exists
        SET @output = 'User exists' 
    ELSE    
        INSERT INTO UserSet
        VALUES (@eMail, @firstName, @lastName, @passwordHash, @salt)
    END
9
задан A-K 16 October 2010 в 22:08
поделиться