Let's say I have a model created with EF 4.0

* User

	+ Roles

		- Permissions

Each entity has a DeleteDate property.

I want to get a specific user (with Name =...) and have the tree filled with items where DeletedDate == null..

This must be done with anonymous type projection as result, but I don't know how to accomplish this with a hierachy deeper than 2..

This is what I already have:

```
    public MyProjection MyCall(string givenName)
    {
      var result = from s in context.Users
                   where (s.Name == givenName &&
                                    s.DeletedDate == null)
                             select new
                             {
                                 s,
                                 roles = from r in s.Roles
                                         where r.DeletedDate == null
                                         select r
                             };

      var outcome = result.FirstOrDefault();

      if (outcome != null)
      {
         var myProjection = new MyProjection()
         {
             User = outcome.s,
             Roles = outcome.roles
         };

         return myProjection;
       }

    return null;
   }

```