小编Fra*_*ain的帖子

在内部使用async/await.选择lambda

我正在使用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)

c# lambda asynchronous asp.net-identity asp.net-core

11
推荐指数
1
解决办法
8247
查看次数