//Method Syntax List<Result> results2 = persons .GroupBy(p => p.PersonId, (k, c) => new Result() { PersonId = k, Cars = c.Select(cs => cs.car).ToList() } ).ToList();
var results = from p in persons group p.car by p.PersonId into g select new { PersonId = g.Key, Cars = g.ToList() };
var results = persons.GroupBy( p => p.PersonId, p => p.car, (key, g) => new { PersonId = key, Cars = g.ToList() });