String.Equals () не работает должным образом

Я использую LINQ для поиска в одной из моих таблиц Entity Framework и нахождения «группы» по названию. Имя является строкой и выглядит как Unicode (говорит, что оно в edmx). У меня есть метод GetGroup(), и я передаю имя для поиска. Отладка с помощью кода, у меня уже есть группа с именем «Test» в моей базе данных. Как только я перейду в группу с именем «TEST», я ожидаю, что она вернет «Test», который уже был в базе данных. По какой-то причине он не находит «Тест» и думает, что «ТЕСТ» не существует. Вот мой запрос, я не могу понять, почему он не работает. Пожалуйста, помогите.

«имя» - это имя, переданное в имени группы. Мой .Equals, кажется, работает, только если gr.Name и имя совпадают. Если в одной из двух строк прописными буквами является один символ, то .Equals не работает. Я пытался использовать InvariantCultureIgnoreCase, и это, похоже, не помогло. Если кто-то спросит, MyLeagueId и LeagueId всегда будут совпадать, база данных настроена так, что может быть группа с другим идентификатором лиги. Я не думаю, что это проблема.

Group g = (from gr in this.DatabaseConnection.Groups
           where gr.Name.Equals(name, StringComparison.OrdinalIgnoreCase) &&
           gr.LeagueId == this.MyLeagueId
           select gr).FirstOrDefault();
38
задан Brian Mains 19 December 2014 в 18:02
поделиться