【发布时间】:2013-04-26 18:24:07
【问题描述】:
我正在尝试进行合适的 linq 查询以适应我的搜索功能。
我有一个包含以下列的表格:'firstname' | '姓氏' | '描述'。 使用以下数据:“彼得”| '穆德' | '这是一个简短的描述。'
我的“搜索”关键字可能类似于:“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”或“a little description”,我不会得到任何结果。 如何制作我的 linq 表达式,以便它可以在列数据中搜索匹配项?
【问题讨论】:
-
search.Contains(t.Firstname)或t.Firstname.Contains(search)? -
你正在做的是
"'pete' or 'a little description'".Contains("peter")在 Linq 中的第一次测试,这将始终返回 false。 -
天哪。你们说的太对了。我倒退了,一直盯着错误的地方看。