ASP Net MVC如何让这个异步?

时间:2017-04-04 05:04:55

标签: asp.net model-view-controller entity-framework-5

我在我的控制器中有这个数据库调用:

var addresses = db.Addresses.Where(a=>a.EmployeeId == id).ToList();

它的工作方式很好,但我很难让它异步。当我确实使它异步时,我能够选择表中的所有记录或单个记录,就好了。但是,我似乎无法获得匹配EmployeeId的多条记录。

1 个答案:

答案 0 :(得分:2)

我找到了解决自己问题的方法。

var addresses = db.Addresses.Where(a=>a.EmployeeId == id).ToList();

要使上述调用异步,我将其更改为:

var addresses = await db.Addresses.Where(a=>a.EmployeeId == id).ToListAsync();

整个方法如下所示:

  public async Task<ActionResult> FindAddress(int? id)
    {
        if(id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        var addresses = await db.Addresses.Where(a=>a.EmployeeId == id).ToListAsync();

        if (addresses == null)
            return HttpNotFound();

        return View(addresses);

    }