次のWeb APIエンドポイントはまだ、次のエラーを取得している:非同期のWeb APIエンドポイント
"A second operation started on this context before a previous asynchronous operation completed."
私はEntity Frameworkのから返されたデータを.ToListAsync
を使用していますので、私は問題を仮定していることですvar user
行ブロック。
どうすれば非同期にすることもできますか?
[Route("Retailers/{search}")]
[HttpGet]
public Task<List<Lookup>> Retailers(string search)
{
var user = UserManager.FindById(User.Identity.GetUserId());
Guid userId = Guid.Parse(user.Id);
var companies = _unitOfWork.GetRepository<Company>().GetAll().Where(c => c.CompanyType == CompanyType.Retail &&
(c.UserID == null || c.UserID == userId) && c.CompanyName.StartsWith(search)).Take(5)
.Select(x => new Lookup { Id = x.Id, Name = x.CompanyName }).ToListAsync();
return companies;
}
'FindById'をブロックしてもこの問題は発生しません。問題はあなたの作業単位抽象化のどこかにあると思う。 –