When you use the Entity Framework to query data from a database, you often have to load detail data related to a database entry. Child elements can easily be obtained from the database with LINQ.

Loading direct children:

var steps = from b in db.Steps.Include(s => s.Questions) 
            orderby b.StepOrder 
            select b;

By using the include expression, the direct children of a step are also loaded and included in the SQL select statement.

Loading grand children:

var steps = from b in db.Steps.Include(s => s.Questions.Select(q => q.Answers))
            orderby b.StepOrder
            select b;

This can be obtained by cascading a select in a include statement.