我已经创建了一个存储过程,该过程需要参数来创建一个用户。如果用户已经存在,则将输出参数设置为“用户已存在”,并不执行任何其他操作。
现在我将此函数(InsertNewUser)映射到我的实体框架中,并像下面这样调用它:
context.InsertNewUser(email, name, passwordhash, salt, ???)
其中的???是我遇到问题的地方。在存储过程中,此参数是一个输出参数。我尝试声明一个字符串,然后传入“out declaredString”,但那不正确。
我不确定自己是否走上了正确的道路,有什么想法吗?
以下是存储过程:
ALTER PROCEDURE dbo.InsertNewUser ( @eMail nvarchar(256), @firstName nvarchar(256), @lastName nvarchar(256), @passwordHash nvarchar(256), @salt nvarchar(256), @output nvarchar(256) OUTPUT )
AS /* 将用户保存到数据库中。 */ BEGIN --首先检查用户是否不存在 IF EXISTS (SELECT eMail FROM UserSet WHERE eMail = @eMail) --返回用户存在 SET @output = '用户已存在' ELSE INSERT INTO UserSet VALUES (@eMail, @firstName, @lastName, @passwordHash, @salt) END
现在我将此函数(InsertNewUser)映射到我的实体框架中,并像下面这样调用它:
context.InsertNewUser(email, name, passwordhash, salt, ???)
其中的???是我遇到问题的地方。在存储过程中,此参数是一个输出参数。我尝试声明一个字符串,然后传入“out declaredString”,但那不正确。
我不确定自己是否走上了正确的道路,有什么想法吗?
以下是存储过程:
ALTER PROCEDURE dbo.InsertNewUser ( @eMail nvarchar(256), @firstName nvarchar(256), @lastName nvarchar(256), @passwordHash nvarchar(256), @salt nvarchar(256), @output nvarchar(256) OUTPUT )
AS /* 将用户保存到数据库中。 */ BEGIN --首先检查用户是否不存在 IF EXISTS (SELECT eMail FROM UserSet WHERE eMail = @eMail) --返回用户存在 SET @output = '用户已存在' ELSE INSERT INTO UserSet VALUES (@eMail, @firstName, @lastName, @passwordHash, @salt) END