Get a grouped list with relational data
I would recommend moving the database access stuff from your "View Controller" and into more of a data access controller (think DAL).  

Also, it's been a bit since I've used Entity Framework, but if I remember right, you can take the following code:

var applicants = context.Applicants.GroupBy(a =&gt; a.EmailAddress)
                                 .Select(grp=&gt;grp.FirstOrDefault())
                                 .ToList() ;
List&lt;ApplicantList&gt; applicantList = new List&lt;ApplicantList&gt;();

foreach (var a in applicants)
{
   //get Jobs for each applicants
   var query = from dba in context.Applicants.Include("Jobs")
                        where a.EmailAddress == dba.EmailAddress
                        select dba.Jobs;
   List&lt;Jobs&gt; jobs = query.ToList();
   applicantList.Add(new ApplicantList (){ Applicant = a, Jobs = jobs });
}

viewModel.Applicants = applicantList;

viewModel.Jobs = context.Jobs.ToList();


And replace it with:

var applicants = context.Applicants.Include("Jobs").ToList();

If Entity Framework is set up right, it should pull in the Jobs that are tied to each applicant automatically.  It is highly recommended to create DTOs based off of your Entity Framework entities though, so you can cut off any circular reference pitfalls (in this case, make sure that the Jobs object doesn't reference the Applicants object).

For the most part though, this doesn't look as bad as a lot of the code that I have run into that has made it into actual production environments.