Entity Framework Code First Left Join

![DB Tables][1]


  [1]: http://i.stack.imgur.com/OIkI9.png
I've created a simple DB in EF code first but appear to have hit a problem.

What I would like to do is, query the DBContext to retrieve a custom object CheckedTag that would have all of the available tags and a boolean field of checked.

Code First abstracts the Many-To-Many table and I can't seem to find the correct query.

I've tried 

                var qry = from t in Db.Tags
                      from a in Db.Articles
                      where(a.Id == articleId) 
                      select new CheckedTag 
                             { 
                                 Id = t.Id, 
                                 Name = t.Name, 
                                 PermanentUrl = t.PermanentUrl, 
                                 Checked = t.Id == null ? false : true 
                             };
and scoured the net for a few hours now.

If the articleId were to be 0, it would retrieve all of the tags and checked would be set to false, if the articleId was for an existing article all of the tags would be returned and the checked tags would be set to true.

Can anyone suggest the query I need to use to retrieve to achieve this result?
Entity Framework Code First Left Join
===


![DB Tables][1]


  [1]: http://i.stack.imgur.com/OIkI9.png
I've created a simple DB in EF code first but appear to have hit a problem.

What I would like to do is, query the DBContext to retrieve a custom object CheckedTag that would have all of the available tags and a boolean field of checked.

Code First abstracts the Many-To-Many table and I can't seem to find the correct query.

I've tried 

                var qry = from t in Db.Tags
                      from a in Db.Articles
                      where(a.Id == articleId) 
                      select new CheckedTag 
                             { 
                                 Id = t.Id, 
                                 Name = t.Name, 
                                 PermanentUrl = t.PermanentUrl, 
                                 Checked = t.Id == null ? false : true 
                             };
and scoured the net for a few hours now.

If the articleId were to be 0, it would retrieve all of the tags and checked would be set to false, if the articleId was for an existing article all of the tags would be returned and the checked tags would be set to true.

Can anyone suggest the query I need to use to retrieve to achieve this result?