Excepción al usar CopyToDataTable con la consulta LINQ "nueva {..}"

Desde este código, puedo llamar a bmwCars.CopyToDataTable () como esperaba.

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

Pero cuando he cambiado alguna declaración de código a continuación, no puedo llamar a 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")
                          };

Respuestas a la pregunta(3)

Su respuesta a la pregunta