How to use LINQ on this query?

c#, linq-to-entities

Solution

var q = from t in targets
        from r in t.Rects
        select new foo
        {
          BaseFrame = t.BaseFrame,
          Rect = r
        };

Problem

I want to convert the `IEnumerable<Target>` of : ``` public class Target { public Frame BaseFrame; public Rect[] rects; } ``` To `IEnumerable<foo>` of : ``` public class foo { public Frame BaseFrame; public Rect rect; } ``` e.g. expand the `Rect[]` array, `IEnumerable<Target>` to `IEnumerable<foo>`, how to write LINQ on this function? example: sequence of Target: ``` t1(rects.Count==2), t2(rects.Count==3) ``` sequece of foo (after conversion): ``` f1, f2, f3, f4, f5 ```

Original source