DbSet IncludeAll method
A simple option would be to use reflection to check for properties that are virtual and has the Id-suffix. This is where I came up with, working for me;

public static IQueryable&lt;T&gt; IncludeAll&lt;T&gt;(this IQueryable&lt;T&gt; queryable) where T : class
{
   var type = typeof (T);
   var properties = type.GetProperties();
   foreach (var property in properties)
   {
       var isVirtual = property.GetGetMethod().IsVirtual;
       if (isVirtual &amp;&amp; properties.FirstOrDefault(c =&gt; c.Name == property.Name + "Id") != null)
       {
           queryable = queryable.Include(property.Name);
       }
   }
   return queryable;
}


I hope this answers your question.