使用SingleOrDefault()时发生编译时错误

时间:2018-12-03 12:20:32

标签: c# asynchronous asp.net-core-mvc

我收到编译时错误:“产品不包含GetAwaiter的定义”,并带有以下代码。我不知道为什么,请有人帮我!谢谢!

public async Task<IActionResult> Edit(int? id)
    {
        if (id == null)
        {
            return NotFound();
        }
        ProductsVM.Products =  await _db.Products.Include(m => m.SpecialTags).Include(m => m.ProductTypes).SingleOrDefault(m => m.Id == id);
        if (ProductsVM.Products == null)
        {
            return NotFound();
        }
        return View(ProductsVM);
    }

1 个答案:

答案 0 :(得分:0)

您没有使用LINQ的异步版本,因此没有任何等待的结果,从而导致该错误。以下是可与LINQ一起使用的许多异步方法的概述:
https://docs.microsoft.com/en-us/dotnet/api/system.data.entity.queryableextensions?view=entity-framework-6.2.0

编辑:
它包含应该正常工作的SingleOrDefaultAsync()版本