Ho creato una procedura memorizzata che richiede parametri per creare un utente. Se l'utente esiste già, imposta il parametro di uscita su "Utente già esistente" e non fa altro.Parametro di output della stored procedure con LINQ e Entity Framework
Ora ho mappati questa funzione (InsertNewUser) al mio Entity Framework e chiamo in questo modo:
context.InsertNewUser(email, name, passwordhash, salt, ???)
Il ??? è dove sto avendo problemi. Nella stored procedure questo parametro è un parametro OUTPUT. Ho provato a dichiarare una stringa e quindi passare "out declaredString" ma non era corretto.
Non sono sicuro che sto andando su questo nel modo giusto, qualche pensiero?
Questa è la stored procedure:
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
così .. tanto .. più facile .. perché non ci ho pensato di ref ?! Solo provato – Phil