EF Query с использованием .Contains () и .ToLowerInvariant () Не дает совпадений, если совпадение найдено в конце строки

Возможно ли пошаговое в запрос linq? У меня есть запрос linq to entity framework 4 в его простейшей форме:

List = List.Where(f => f.Value.ToString().ToLowerInvariant().Contains(filter.ToLowerInvariant()));

Это запрос к Entity Framework DbContext и я » m не может понять, почему это работает для чего-то вроде:

Список, поиск по 001 не дает результатов по следующему списку

  1. Test001
  2. Test002
  3. Test003
  4. Test004

Однако любой другой поиск дает результаты (например, t00 или Test )

Обновление

В основном я ищу, почему такой запрос, как приведенный выше, не возвращает результат, когда я использую содержит, и значение соответствует концу строки, а не только середине или началу. Это действительно сбивает с толку.

Хорошо, похоже, это как-то связано с ToLowerInvariant () - когда я удалил этот метод, он работает нормально.

14
задан MyNameIsJob 27 December 2010 в 22:02
поделиться