Entity Framework Lazy loading performance comparison
1) Not sure if it impacts performance, but your first code fragment has one redunant order by:

.OrderByDescending(t =&gt; t.RunID).ThenByDescending(t =&gt; t.RunID)


2) You could improve performance of your seconds code with "client side indexing" (using a dictionary):

var tasksMap = tasks.ToDictionary(t =&gt; t.TaskID);
var jobsMap = jobs.ToDictionary(t =&gt; t.JobID);

foreach (var r in result)
{
    var task = tasksMap[r.TaskID];
    r.TaskDescription = task.TaskDescription;
    r.TaskType = (TaskType)task.TaskTypeID;
    r.JobName = jobsMap[r.JobID].JobName;
}