Я создал хранимую процедуру, которая принимает параметры для создания пользователя. Если пользователь уже существует, он устанавливает выходной параметр как «Пользователь уже существует» и больше ничего не делает.
Теперь я сопоставил эту функцию (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