Я обнаружил, что использование Linq полезно при работе со списками и предоставляет краткий читабельный код.
Проблема, которую я обнаружил, заключается в том, что при возникновении ошибки очень трудно отладить, какая частьзапрос не выполняется.
Есть ли способ выяснить это?Он просто выделяет весь запрос и возвращает ошибку.
Например, если у меня есть список:
class Person
{
public IList<string> Pets
{
// please, don't do this at home :)
get { throw new InvalidOperationException(); }
}
}
Person person = new Person();
List<Person> myStrings = new List<Person>();
myStrings.Add(person);
var people = from p in myStrings
where p.Pets.Count > 0
select p;
Очевидно, что проверка на ноль - это простое решение, но для более запутанных ошибок, которыетакже может быть не так очевидно, как мы должны определить, где в запросе происходит сбой?
Есть ли в Linq профилировщик или что-то еще?