【发布时间】:2010-10-06 20:11:38
【问题描述】:
我正在尝试使用 linq 过滤对象列表。当我按Contains(someSearchQuery) 过滤时,它就像是区分大小写的......这意味着我错过了一些结果。
我有一个IList<Foo>,它有许多属性,但其中一个是public string MyText { get; set; }
现在,我正在尝试返回 Foo 的 IQueryable,其中 MyText 属性包含 search query - 但如果这是一个 Sql 语句,它会是......
WHERE MyText LIKE '%searchQuery%'
或
WHERE CONTAINS(MyText, 'searchQuery')
我不知道该怎么做,因为当我执行以下查询时,它就像是在区分大小写
var query = from q in myFooList.AsQueryable().Where(x => x.MyText.Contains(searchQuery));
建议?
【问题讨论】:
-
searchQuery 和 MyText 上的 ToUpper/ToLower 可以解决问题。
-
@klausbyskov 最初我也这么认为.. 是的。确实有效..但感觉它只是不正确 / 闻起来不对或其他什么......
标签: .net linq linq-to-objects