c# - 具有包含和可为空值的 Linq 查询

标签 c# linq entity-framework entity-framework-4

我有一个搜索方法,如下所示:

public IEnumerable<Result> Search(string searchText)
{

     return _context.Person.Where(x => x.Contains(searchText));
}

我希望能够在 searchText 为空/空的情况下调用此函数并取回所有记录。

我已经尝试过了,但没有成功:

return _context.Person.Where(x => x.Contains(searchText ?? ""));

除了将其分为两步并在将其应用于查询之前检查 if 语句中的 searchString 之外,还有其他方法可以实现吗?

最佳答案

_context.Person.Where(x => string.IsNullOrEmpty(searchText) ? true : x.Contains(searchText));

关于c# - 具有包含和可为空值的 Linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5596575/

相关文章:

c# - linq to sql 优化了具有多个连接的组

c# - 是否有理由让每个 WCF 调用异步?

c# - 是否有使用 Linq 直接动态查询数据库的库?

c# - Entity Framework 和 WPF 数据网格绑定(bind)

c# - 在 Entity FrameWork 中获取新生成的 ID(即 scopeIdentity)

c# - .NET WCF 服务获取 Blob 的 JSON 列表

c# - Microsoft Bot Framework,如何对用户进行身份验证以登录 Web 应用程序

c# - 在 .NET 的输出字符串中将列表的所有项目连接在一起

c# - LINQ 中的嵌套 GroupBy 扩展方法

entity-framework - 我可以在 EF 6 中试运行更新数据库吗?