是否可以进入 linq 查询?我有一个最简单形式的 Entity Framework 4 查询的 linq:
List = List.Where(f => f.Value.ToString().ToLowerInvariant().Contains(filter.ToLowerInvariant()));
这是针对 Entity Framework DbContext
的查询,我无法理解为什么它适用于类似的东西:
搜索 001
的列表不会针对以下列表产生任何结果
- 测试001
- 测试002
- 测试003
- 测试004
但是任何其他搜索都会产生结果(例如 t00
或 Test
)
更新
基本上,我在寻找为什么当我使用 contains 并且值匹配字符串的结尾而不是中间或开头时,上述查询不会返回结果。这真的很令人困惑。
好的,它似乎与 ToLowerInvariant()
有关 - 当我删除该方法时它工作得很好。
最佳答案
ToLowerInvariant()
似乎产生了错误。 ToLower()
工作得很好。
关于c# - 在字符串末尾找到匹配项时,使用 .Contains() 和 .ToLowerInvariant() 的 EF 查询结果没有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4541959/