如何使用async - 等待在asp.net mvc 5中

时间:2018-02-10 17:23:06

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-5

我是异步编程的新手。我正在研究项目,我必须使用异步等待方法模式。为此,我在我的存储库项目中创建了一个方法

    public async Task<IEnumerable<InventoryProductMaster>> GetInventoryProducts(long OrganizationMasterID)
    {
        return await _msbmInventoryDbContext.Set<InventoryProductMaster>().Where(a => a.OrganizationMasterID == OrganizationMasterID);
    }

我想将此函数的结果用于我的控制器方法。

    [HttpGet]
    public async Task<ActionResult> Create()
    {
        long organizationMasterID = Convert.ToInt64(System.Web.HttpContext.Current.Session["LoggedInOrganizationMasterID"]);
        var _materialTypeEntity = await _inventoryUnitOfWork.InventoryProductMasters.GetInventoryProducts(organizationMasterID).ToListAsync();
        return View();
    }

向我显示错误消息:'IQueryable'不包含'GetAwaiter'的定义,并且没有扩展方法'GetAwaiter'接受第一个类型为'IQueryable'的参数可以找到(你是否遗漏了) using指令或程序集引用?)

请帮帮我。提前谢谢

1 个答案:

答案 0 :(得分:0)

public async Task<IEnumerable<InventoryProductMaster>> GetInventoryProducts(long OrganizationMasterID)
{
   return await _msbmInventoryDbContext.Set<InventoryProductMaster>().Where(a => a.OrganizationMasterID == OrganizationMasterID).ToListAsync();
}

您必须使用此方法,并且可以像这样进行调用

var _materialTypeEntity = await GetInventoryProducts(cpount);