我正在使用Asp.Net Core Identity并尝试简化将一组用户及其角色投影到ViewModel的代码.这段代码有效,但在尝试简化它时,我陷入了一个疯狂的错误和好奇心.
这是我的工作代码:
var allUsers = _userManager.Users.OrderBy(x => x.FirstName);
var usersViewModel = new List<UsersViewModel>();
foreach (var user in allUsers)
{
var tempVm = new UsersViewModel()
{
Id = user.Id,
UserName = user.UserName,
FirstName = user.FirstName,
LastName = user.LastName,
DisplayName = user.DisplayName,
Email = user.Email,
Enabled = user.Enabled,
Roles = String.Join(", ", await _userManager.GetRolesAsync(user))
};
usersViewModel.Add(tempVm);
}
Run Code Online (Sandbox Code Playgroud)
在尝试简化代码时,我想我可以做这样的事情 (破碎的代码):
var usersViewModel = allUsers.Select(user => new UsersViewModel
{
Id = user.Id,
UserName = user.UserName,
FirstName = user.FirstName,
LastName …Run Code Online (Sandbox Code Playgroud)