LINQ не является подходящим инструментом для этого - это должно быть невозможно со встроенными операциями запросов без интенсивного использования отражения в запросах.
Конечно, вы можете пройти по графу объектов, используя отражение, но этоне будет быстрым решением, и вам, возможно, придется учитывать некоторые неприятные вещи, такие как циклы в графе объектов.
Если классы, составляющие граф объектов, находятся под вашим контролем, я настоятельно рекомендую встроить эту функциональность вклассы.Например, вы можете создать интерфейс и реализовать его для всех классов.Затем вы можете рекурсивно анализировать граф объектов, не полагаясь на отражение.