问题描述
我正在回购中创建一个异步任务,然后从控制器访问它,以尝试最小化控制器中的逻辑。
问题是,当我在控制器中使用完全相同的逻辑时,会有一个输出,现在我正在以这种方式访问,它不是在搜索它。
存储库:
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();