ste*_*776 3 c# linq entity-framework entity-framework-4
我有一种搜索方法,如下所示:
public IEnumerable<Result> Search(string searchText)
{
return _context.Person.Where(x => x.Contains(searchText));
}
Run Code Online (Sandbox Code Playgroud)
我希望能够以searchTextnull / empty 调用此函数并获取所有记录。
我没有运气尝试过这个:
return _context.Person.Where(x => x.Contains(searchText ?? ""));
Run Code Online (Sandbox Code Playgroud)
除了将其分为两个步骤并searchString在将其应用于查询之前检查if语句之外,还有另一种方法来实现此目的吗?
_context.Person.Where(x => string.IsNullOrEmpty(searchText) ? true : x.Contains(searchText));
Run Code Online (Sandbox Code Playgroud)
public IEnumerable<Result> Search(string searchText)
{
if(string.IsNullOrEmpty(searchText))
return _context.Person;
else
return _context.Person.Where(x => x.Contains(searchText));
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我尝试了所有解决方案,下面的解决方案对我有用
query = query.Where(e => e.CategoryType.HasValue && categoryTypes.Contains(e.CategoryType.Value));
Run Code Online (Sandbox Code Playgroud)