Try (ctx
- это контекст вашей базы данных):
ctx.CustomerStatus
.GroupBy(cs => cs.CustomerId)
.Select(gr => gr.OrderByDescending(cs => cs.Date).First())
.Join(ctx.Status, cs => cs.Status, st => st.Id, (cs, st) => new {cs.CustomerId, Status = st})
.Join(ctx.Customers, a => a.CustomerId, c => c.Id, (a, c) => new {a.Status.Status, c.Name});