使用linq进行C#搜索查询

cod*_*joe 10 c# linq

我正在尝试制作合适的linq查询以适应我的搜索功能.

我有一个包含以下列的表:'firstname'| 'lastname'| '描述'.以下数据:'彼得'| 'Mulder'| "这是一个小小的描述."

我的"搜索"关键字可能类似于:"彼得"或"一点描述".

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

mycontext.persons
    .Where(t => 
        search.Contains(t.Firstname) || 
        search.Contains(t.Lastname) || 
        search.Contains(t.Description).Select(p => p)
    .ToList();
Run Code Online (Sandbox Code Playgroud)

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

Ere*_*mez 26

我想你只是倒退了:

mycontext.persons
    .Where(t => 
        t.Firstname.Contains(search) || 
        t.Lastname.Contains(search) || 
        t.Description.Contains(search))
    .ToList();
Run Code Online (Sandbox Code Playgroud)

  • @CodeNaked:说谁?他说他的搜索字符串可能是"皮特",或者它可能是"一点描述". (7认同)