Got 2 tables: db.Tags (ID, TagName) and db.Names (ID, Name, TagID).

I want to fetch all db.Tags rows, and all the Names matching the TagID.

So it will look like

```
ID - TagName - Names
1  - tag1    - name1, name2, name3
2  - tag2    - name4, name5, name6

```

Is this possible in one (long) linq query?
or do I have to get all the tags, then do foreach tag, get all the names, then do foreach names to put them in a one long string..

Thanks in advance!

EDIT:

Okay see my comment on the second answer (first one up..), this is what i tried but i get some errors in compiler:

```
        var tags = 
        from t in db.Tags
        orderby t.Priority ascending
        select new {
            t.ID,
            t.Name,
            t.Priority,
            Places = String.Join(", ", 
                (from p in db.Places
                 join o in db.TagToPlaces on new {
                    p.ID,
                    t.ID
                 }
                 equals new {
                     o.PlaceId,
                     o.TagId
                 }
                 select p.Name
                 ).ToArray()
             ) 
        }
    );

```