이전에이 질문을 받았지만이 작업을 수행하는 방법을 알 수 없습니다.작업 목록에서 결과 가져 오기
따라서 아래의 코드는 분명히 내가 await
이라는 것을 쿼리에 포함한다는 의미에서 잘못되었습니다.
// GET: /<controller>/
[HttpGet]
public new IActionResult Index()
{
var model = new List<Models.ViewModels.ApplicationUser.ListViewModel>();
model = _userManager.Users.Select(u => new Models.ViewModels.ApplicationUser.ListViewModel
{
Id = u.Id,
Email = u.Email,
Name = u.GivenName + " " + u.SurName,
RoleNames = await _userManager.GetRolesAsync(u)
}).ToList();
return View(model);
}
이렇게하면 "await"연산자는 비동기식 람다 식에서만 사용할 수 있습니다. "라는 오류가 표시됩니다.
그래서, 내가 먼저 쿼리를 완성하고 난 람다 비동기합니다
// GET: /<controller>/
[HttpGet]
public new IActionResult Index()
{
var model = new List<Models.ViewModels.ApplicationUser.ListViewModel>();
// get users first, so I don't have to async something in a Select
var users = _userManager.Users.ToList();
// make the lambda asyc
model = users.Select(async u => new Models.ViewModels.ApplicationUser.ListViewModel
{
Id = u.Id,
Email = u.Email,
Name = u.GivenName + " " + u.SurName,
RoleNames = await _userManager.GetRolesAsync(u)
}).ToList();
return View(model);
}
을하지만 그때 나는 그래서 기본적으로 (내 생각) 그것이 내가 Task
하는의 목록을 말한다 Cannot implicitly convert type 'System.Collections.Generic.List<System.Threading.Tasks.Task<Models.ViewModels.ApplicationUser.ListViewModel>>' to 'System.Collections.Generic.List<Models.ViewModels.ApplicationUser.ListViewModel>'
를 얻을 수 나는 결과를 얻어야한다. 그러나이 결과를 어떻게 얻을 수 있습니까 Task
? 또는 더 나은 방법 :이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
근접하지 않고 this과 this 및 this을 확인했습니다.
그래도 작동합니다! 고마워요. – Arjan