Exceção usando CopyToDataTable com a consulta LINQ “nova {..}”

Deste código eu posso chamar bmwCars.CopyToDataTable () como eu esperava.

var bmwCars = from car in dataTable.AsEnumerable()
                          where car.Field<string>("Make").ToLower().Equals("bmw")
                          select car;

Mas quando altero alguma declaração de código abaixo, não consigo chamar CopyToDataTable (), por quê?

var bmwCars = from car in dataTable.AsEnumerable()
                          where car.Field<string>("Make").ToLower().Equals("bmw")
                          select new
                          {
                              Make = car.Field<string>("Make"),
                              Color = car.Field<string>("Color"),
                              PetName = car.Field<string>("PetName")
                          };

questionAnswers(3)

yourAnswerToTheQuestion