Repetitive code for a projected field in a lambda
You can extract out that repeat call to a variable inside your Select.

var result = employments.Select(x =&gt; 
{
    var empRelationship = x.EmpRelationship.OrderByDescending(y =&gt; y.EndTime).FirstOrDefault();

    return new EmpListItem
    {
        EndDate = empRelationship.CancelledBeforeTime ? 
                      empRelationship.CancelEndTime : 
                      empRelationship.EndTime,
        JobType = x.JobType
    };
});


This will also speed up execution.

The trick behind this is remembering you can execute more than just one statement inside a lambda by using { and }