Wyjątek przy użyciu CopyToDataTable z „nowym {..}” zapytaniem LINQ

Z tego kodu mogę wywołać bmwCars.CopyToDataTable () zgodnie z oczekiwaniami.

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

Ale kiedy zmieniłem jakieś zdanie kodu poniżej, nie mogę wywołać CopyToDataTable (), dlaczego?

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(2)

yourAnswerToTheQuestion