Странное поведение LINQ - ToList возвращает пустой набор - PullRequest
1 голос
/ 22 сентября 2009

Не могу понять, почему resultSet2 пуст! Проходит только первое утверждение!

List<Tree> resultSet1 = this.datacontext.Trees.Where(t=>t.RiskRating.Contains("bad")).ToList();

Assert.IsTrue(resultSet1.count() == 3);


List<Tree> resultSet2 = this.datacontext.Trees.ToList().Where(t=>t.RiskRating.Contains("bad")).ToList();

Assert.IsTrue(resultSet2.count() == 3);

Спасибо! * * 1004

Ashley

1 Ответ

3 голосов
/ 22 сентября 2009

Что возвращает this.datacontext.Trees.ToList().Count()?

Может быть, это связано с вашим сопоставлением в базе данных? Первый пример преобразует метод Contains («bad») обратно в SQL, который может быть без учета регистра, и возвращает строки, содержащие «BAD» или «Bad». Второй пример не чувствителен к регистру.

Было бы интересно посмотреть, какие значения RiskRating вернулись в базу данных и как выглядит выполняемый SQL-запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...