Ausnahme bei Verwendung von CopyToDataTable mit der LINQ-Abfrage "new {..}"

Von diesem Code kann ich bmwCars.CopyToDataTable () wie erwartet aufrufen.

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

Aber wenn ich eine der folgenden Code-Anweisungen geändert habe, kann ich CopyToDataTable () nicht aufrufen. Warum?

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")
                          };

Antworten auf die Frage(3)

Ihre Antwort auf die Frage