I can flatten the results of a child collection within a collection with SelectMany:
// a list of Foos, a Foo contains a List of Bars var source = new List<
var q = source.SelectMany(foo => foo.Bar) .SelectMany(bar => bar.Widget,(bar,widget) => widget.WidgetId) .ToList();
we can call this overload of SelectMany() with allow us to specify the projection using lambda experession