GroupJoin without having to select contents from joined list

So I've got two classes that I'm trying to combine into a ViewModel for use in the application. I'm trying to find the lambda syntax to perform a left join between the two objects (Actual Delivery, DeliveryHdr). For some context the DeliveryHdr is a scheduled delivery on a schedule and the Actual Delivery is details collected once the delivery is made. I'm using the provided method (CovertToViewModel) to conmbine the two objects and return a list of ViewModels and it functions like I want it to but I'm thinking there has to be an easier way? How can I perform a 1 to 1 left join without having to perform Select's on the joined List like I've done below?

public partial class ActualDelivery
    {
        public int ActualDeliveryId { get; set; }
        public int DeliveryId { get; set; }
        public string DockDoor { get; set; }
        public string ArrivalComments { get; set; }
        public string SetTemp { get; set; }
        public string Unloader { get; set; }
        public DateTime? UnloadStart { get; set; }
        public DateTime? UnloadEnd { get; set; }
        public int? ActualAmbientFull { get; set; }
        public int? ActualAmbientMixed { get; set; }
        public int? ActualReefer { get; set; }
        public int? ActualCageVault { get; set; }
        public int? ActualBlc { get; set; }
        public int? ActualTotalPallets { get; set; }
        public int? ActualTotalLpns { get; set; }
        public DateTime? CreatedDttm { get; set; }
        public string CreatedUser { get; set; }
        public DateTime? UpdatedDttm { get; set; }
        public string UpdatedUser { get; set; }
  }
public partial class DeliveryHdr
    {
        public int DeliveryId { get; set; }
        public DateTime? LoadDate { get; set; }
        public DateTime? ScheduledTime { get; set; }
        public DateTime? ArrivalTime { get; set; }
        public int? LoadNumber { get; set; }
        public string Shift { get; set; }
        public string SupplierNumber { get; set; }
        public string SupplierName { get; set; }
        public string Carrier { get; set; }
        public bool? IsCancelled { get; set; }
        public bool? IsConfirmed { get; set; }
        public bool? IsBackHaul { get; set; }
        public int? ActAmbientFullPallets { get; set; }
        public int? ActAmbientMixedPallets { get; set; }
        public int? ActReeferPallets { get; set; }
        public int? ActCageVaultPallets { get; set; }
        public int? ActBlcpallets { get; set; }
        public int? ActTotalPallets { get; set; }
        public int? ActTotalLpns { get; set; }
        public bool? MarkAsDeleted { get; set; }
        public string CreatedUser { get; set; }
        public DateTime? CreatedDttm { get; set; }
        public string UpdatedUser { get; set; }
        public DateTime? UpdatedDttm { get; set; }
}
public class ActualDeliveriesViewModel
    {
        public int DeliveryId { get; set; }
        public int ActualDeliveryId { get; set; }
        public string CompositeId { get; set; }
        public DateTime? LoadDate { get; set; }
        public DateTime? ScheduledTime { get; set; }
        public DateTime? ActualTime { get; set; }
        public string Shift { get; set; }
        public int? LoadNumber { get; set; }
        public string SupplierName { get; set; }
        public string Carrier { get; set; }
        public bool? IsConfirmed { get; set; }
        public bool? IsBackHaul { get; set; }
        public bool? IsCancelled { get; set; }
        public string DockDoor { get; set; }
        public string ArrivalComments { get; set; }
        public string SetTemp { get; set; }
        public string Unloader { get; set; }
        public DateTime? UnloadStart { get; set; }
        public DateTime? UnloadEnd { get; set; }
        public int? ActualAmbientFull { get; set; }
        public int? ActualAmbientMixed { get; set; }
        public int? ActualReefer { get; set; }
        public int? ActualCageVault { get; set; }
        public int? ActualBlc { get; set; }
        public int? ActualTotalPallets { get; set; }
        public int? ActualTotalLpns { get; set; }
}
    public List<ActualDeliveriesViewModel> CovertToViewModel(List<DeliveryHdr> deliveries, List<ActualDelivery> actuals)
        {
            return deliveries.Where(e => e.MarkAsDeleted == false).GroupJoin(actuals, d => d.DeliveryId, a => a.DeliveryId, (d, a) =>
            new ActualDeliveriesViewModel()
            {
                DeliveryId = d.DeliveryId,
                ActualDeliveryId = a.Select(i => i.ActualDeliveryId).FirstOrDefault(),
                CompositeId = d.DeliveryId + "_" + a.Select(i => i.ActualDeliveryId).FirstOrDefault(),
                LoadDate = d.LoadDate,
                ScheduledTime = d.ScheduledTime,
                ActualTime = d.ArrivalTime,
                LoadNumber = d.LoadNumber,
                SupplierName = d.SupplierName,
                Carrier = d.Carrier,
                IsConfirmed = d.IsConfirmed,
                IsBackHaul = d.IsBackHaul,
                IsCancelled = d.IsCancelled,
                DockDoor = a.Select(i => i.DockDoor).FirstOrDefault(),
                ArrivalComments = a.Select(i => i.ArrivalComments).FirstOrDefault(),
                SetTemp = a.Select(i => i.SetTemp).FirstOrDefault(),
                Unloader = a.Select(i => i.Unloader).FirstOrDefault(),
                UnloadStart = a.Select(i => i.UnloadStart).FirstOrDefault(),
                UnloadEnd = a.Select(i => i.UnloadEnd).FirstOrDefault(),
                ActualAmbientFull = a.Select(i => i.ActualAmbientFull).FirstOrDefault(),
                ActualAmbientMixed = a.Select(i => i.ActualAmbientMixed).FirstOrDefault(),
                ActualBlc = a.Select(i => i.ActualBlc).FirstOrDefault(),
                ActualCageVault = a.Select(i => i.ActualCageVault).FirstOrDefault(),
                ActualReefer = a.Select(i => i.ActualReefer).FirstOrDefault(),
                ActualTotalPallets = (a.Select(i => i.ActualAmbientFull).FirstOrDefault() + a.Select(i => i.ActualAmbientMixed).FirstOrDefault() + a.Select(i => i.ActualBlc).FirstOrDefault() + a.Select(i => i.ActualCageVault).FirstOrDefault() + a.Select(i => i.ActualReefer).FirstOrDefault()) ?? 0
            }).ToList();
        }