Я использую LINQ для поиска по одной из моих таблиц Entity Framework и поиска "группы" на основе имени. Имя является строкой и выглядит как Unicode (говорит, что это находится в edmx). У меня есть метод GetGroup()
, и я передаю имя для поиска. Отлаживая код, у меня уже есть группа с именем "Тест" в моей базе данных. Как только я перейду в группу под названием "TEST", я ожидаю, что она вернет "Тест" , который уже был в базе данных. По какой-то причине он не находит "Тест" и считает, что "ТЕСТ" не существует. Вот мой запрос, я не понимаю, почему он не работает. Пожалуйста, помогите.
"name" - это имя переданного в имени группы. Мой .Equals
работает, только если gr.Name
и имя то же самое. Если один символ является капиталом в одной из двух строк, то .Equals не работает. Я попытался использовать InvariantCultureIgnoreCase
, и это, похоже, не помогло. В случае, если кто-то спрашивает, MyLeagueId
и LeagueId
всегда будут совпадать, база данных будет настроена так, что может быть группа в другом лиге id. Я не думаю, что это проблема.
Group g = (from gr in this.DatabaseConnection.Groups
where gr.Name.Equals(name, StringComparison.OrdinalIgnoreCase) &&
gr.LeagueId == this.MyLeagueId
select gr).FirstOrDefault();