从asp.net中的存储库访问异步任务时什么都没有发生?

问题描述

我正在回购中创建一个异步任务,然后从控制器访问它,以尝试最小化控制器中的逻辑。

问题是,当我在控制器中使用完全相同的逻辑时,会有一个输出,现在我正在以这种方式访问​​,它不是在搜索它。

存储库:

   public async Task<List<Guests>> GetGuesteByAsync(string Search)
    {
        var list = GetAll();
        var listquery = from x in context.Guest select x;
        if (!string.IsNullOrEmpty(Search))
        {
            listquery = listquery.Where(x => x.FullName.Contains(Search) ||  x.Organisation.Contains(Search));
        }

        return await context.Guests.ToListAsync();
    }

控制器:

 [HttpGet]
    public async Task<ActionResult> Index(string Search)
    {
ViewData["Getsearchinput"] = EmpSearch;
        //List<Guests> listofguests = await repository.GetGuesteByAsync(Search);
        var res = await (repository.GetGuesteByAsync(Search));
        return View(res);

    }

解决方法

这将返回所有条目。

return await context.Guests.ToListAsync();

我认为您应该使用查询。你可以试试吗?

return await listquery.ToListAsync();