簡體   English   中英

Linq類型轉換委托為.First方法

[英]Linq type conversion delegate for .First method

下面使用這個方法我怎么能寫出來沒有錯誤

return _session.Query<Data.Model.User>().Select(_userMapper.CreateUser)
          .AsQueryable();

但寫這個

return _session.Query<Data.Model.User>().Where(x => x.Username == username)
         .First(_userMapper.CreateUser);

產生錯誤。

public User CreateUser(Data.Model.User modelUser)
{
    return new User{UserId = modelUser.UserId, Username = modelUser.Username,
                    Email = modelUser.Email, Firstname = modelUser.Firstname,
                    Lastname = modelUser.lastname};
}

無論是返回集合還是單個項目,我都希望通過create user方法進行轉換。

您需要在First()之前調用Select

return _session.Query<Data.Model.User>()
               .Where(x => x.Username == username)
               .Select(_userMapper.CreateUser)
               .First();

要么:

return _session.Query<Data.Model.User>()
               .Select(_userMapper.CreateUser)
               .First(x => x.Username == username);
return _userMapper.CreateUser(_session.Query<Data.Model.User>().First(x => x.Username == username));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM