Tôi đã tạo một thủ tục lưu sẵn có tham số để tạo người dùng. Nếu người dùng đã tồn tại nó đặt tham số đầu ra thành 'Người dùng đã tồn tại' và không làm gì hơn.Bắt tham số đầu ra thủ tục lưu trữ với LINQ và Entity Framework
Bây giờ tôi đã ánh xạ chức năng này (InsertNewUser) để khung Entity của tôi và gọi nó như vậy:
context.InsertNewUser(email, name, passwordhash, salt, ???)
Các ??? là nơi tôi đang gặp rắc rối. Trong thủ tục lưu sẵn, tham số này là tham số OUTPUT. Tôi đã cố gắng khai báo một chuỗi và sau đó đi qua trong "out declareString" nhưng điều đó không đúng.
Tôi không chắc mình sẽ làm đúng cách này, có suy nghĩ gì không?
Đây là 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
vì vậy .. nhiều .. dễ dàng hơn .. tại sao tôi không nghĩ đến ref ?! Chỉ thử – Phil