I have an extension method that lets you generically include data in EF:
public static IQueryable IncludeMultiple(this IQueryable
public TEntity GetByIdLoadFull(string id, List navigatonProoperties)
{
if (id.isNullOrEmpty())
{
return null;
}
IQueryable query = dbSet;
if (navigationProperties != null)
{
foreach (var navigationProperty in navigationProperties)
{
query = query.Include(navigationProperty.Name);
}
}
return query.SingleOrDefault(x => x.Id == id);
}
Here is a much simpler solution, idea is to cast the dbset to iqueryable and then recursively include properties