使用 LINQ 的 Contains 方法进行不区分大小写的字符串比较
在 LINQ 查询中进行字符串比较时,必须考虑区分大小写。默认情况下,Contains 方法区分大小写,这意味着“CaseSensitive”和“casesensitive”将不匹配。
问题:
在以下 LINQ 查询中,我们的目标是根据描述过滤器检索 FACILITY_ITEM 实体。但是,查询目前区分大小写,可能无法返回所需的结果。
public IQueryable<FACILITY_ITEM> GetFacilityItemRootByDescription(string description) { return this.ObjectContext.FACILITY_ITEM.Where(fi => fi.DESCRIPTION.Contains(description)); }
解决方案:
为了使比较不区分大小写,我们可以在执行 Contains 检查之前使用 ToLower() 方法。这会将描述过滤器和数据库值都转换为小写,确保比较不区分大小写。
fi => fi.DESCRIPTION.ToLower().Contains(description.ToLower())
通过使用此更新的表达式,查询将返回设施项目描述与描述过滤器匹配的结果,无论大小写。
以上是如何使用 LINQ 的 Contains 方法执行不区分大小写的字符串比较?的详细内容。更多信息请关注PHP中文网其他相关文章!