使用 linq 的 C# 搜索查询

标签 c# linq

我正在尝试进行合适的 linq 查询以适应我的搜索功能。

我有一个包含以下列的表:'firstname' | '姓氏' | '描述'。 具有以下数据:'Peter' | '穆德' | '这是一个小描述。'

我的“搜索”关键字可能类似于:“peter”或“a little description”。

现在,如果我在 lambda 中使用以下 linq 表达式:

mycontext.persons
    .Where(t => 
        search.Contains(t.Firstname) || 
        search.Contains(t.Lastname) || 
        search.Contains(t.Description).Select(p => p)
    .ToList();

现在,当我使用“peter”时,我得到了我的结果,但如果我使用“pete”或“一点描述”,我就得不到任何结果。 我如何制作我的 linq 表达式,以便它可以在列数据中搜索匹配项?

最佳答案

我想你只是把它倒过来了:

mycontext.persons
    .Where(t => 
        t.Firstname.Contains(search) || 
        t.Lastname.Contains(search) || 
        t.Description.Contains(search))
    .ToList();

关于使用 linq 的 C# 搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16242885/

相关文章:

c# - Linq 和总和

c# - 为什么我的 WCF 数据服务无法提供自动生成的 ADO.Net EDM?

c# - 如何在 EF 中模拟和单元测试存储过程

c# - 使用 ODBC 连接在代码隐藏中加载 Crystal Report

c# - Entity Framework linq 查询何时返回动态代理类型,何时不返回?

c# - 在 LINQPad 中使用 Dump() 扩展方法和使用 Console.WriteLine() 有什么区别?

c# - 这可能是 lambda 表达式吗?

linq - 如何获取 XElement 的 position()?

c# - .NET FileSystemWatcher 在移动文件时进入无限循环

c# - 如何在已编译的 DLL 中编辑硬编码字符串?