ОШИБКА Невозможно присвоить void локальной переменной с неявным типом - PullRequest
0 голосов
/ 02 мая 2018

У меня есть хранимые процедуры на сервере sql для вставки пользователя, но я получаю эту ошибку при попытке сопоставить sp с классом DTO, который у меня есть.

DataClasses1DataContext _dataContext = new DataClasses1DataContext();

public List<WebUserDTO> InsertUser (string Username, string UserPassword, string FullName, string Email)
    {
        var user = _dataContext.WebUser_InsertUser(Username, UserPassword, FullName, Email);
        return user.Select(aux => new WebUserDTO()
        {
            UserName = aux.Username,
            UserPassword = aux.UserPassword,
            FullName = aux.FullName,
            Email = aux.Email
        }).ToList();
    }

Ошибка показывает здесь: var user = _dataContext.WebUser_InsertUser(Username, UserPassword, FullName, Email); Мои вставки sps следующие, и я имею правильные результаты при выполнении dbo.WebUser_InsertUser на сервере sql

CREATE PROC dbo.WebUser_InsertUser0
    @Username AS NVARCHAR (20),
    @UserPassword AS NVARCHAR (20),
    @FullName AS NVARCHAR (50),
    @Email AS NVARCHAR (50),
    @IdUser AS INT OUT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO dbo.WebUser (UserName, UserPassword, FullName, Email)
VALUES (@UserName, @UserPassword, @FullName, @Email)
SET @IdUser = SCOPE_IDENTITY()
RETURN @IdUser;
END
GO

CREATE PROC dbo.WebUser_InsertUser
    @Username1 AS NVARCHAR (20),
    @UserPassword1 AS NVARCHAR (20),
    @FullName1 AS NVARCHAR (50),
    @Email1 AS NVARCHAR (50)
AS
BEGIN
SET NOCOUNT ON;
DECLARE
    @UserId1 AS INT
EXEC dbo.WebUser_InsertUser @UserName1, @UserPassword1, @FullName1, @Email1, @UserId1 OUT
SELECT W.IdUser, W.UserTypeId, W.Username, W.UserPassword, W.FullName, W.Email
FROM dbo.WebUser AS W
WHERE W.IdUser = @UserId1
RETURN;
END

1 Ответ

0 голосов
/ 02 мая 2018

Скорее всего, вам нужно что-то подобное:

public List<WebUserDTO> InsertUser (string Username, string UserPassword, string FullName, string Email)
{
    _dataContext.WebUser_InsertUser(Username, UserPassword, FullName, Email);
    // since you did not provide _dataContext type definition
    // I can only guess how your user collection is called in your DbContext.
    return _dataContext.users.Select(aux => new WebUserDTO()
    {
        UserName = aux.Username,
        UserPassword = aux.UserPassword,
        FullName = aux.FullName,
        Email = aux.Email
    }).ToList();
}
...