Каков самый элегантный способ свернуть дубликаты столбцов из табличных данных в списки?Свернуть кратные столбцы в подсписке
Пример: Я написал запрос SQL, который возвращает строки, которые содержат повторяющиеся данные для одного столбца дифференцирующей кроме:
FIRST LAST AGE CAR
Charles Burns 32 Accord
Charles Burns 32 Buick
Charles Burns 32 Lexus
Anders Hejlsberg 51 Porsche
Anders Hejlsberg 51 Ferrari
Anders Hejlsberg 51 Bugatti
Anders Hejlsberg 51 Pinto
Я прочитал их с помощью что-то вроде следующего, а затем поместить их в объект CarInfo:
while(reader.Read()) {
first = reader["first"]
last = reader["last"]
//...
}
var myData = new CarInfo(first, last, ...);
объект выглядит следующим образом:
// CarInfo: Need 7 total instances with example data
string first { get; private set; }
string last { get; private set; }
int age { get; private set; }
string car { get; private set; }
Я хотел бы, чтобы выглядеть следующим образом:
// CarInfo: Need only 2 instances with example data;
string first { get; private set; }
string last { get; private set; }
int age { get; private set; }
List<string> cars { get; private set; }
Я могу, конечно, сделать это вручную, например, путем выбора столбцов, которые образуют уникальный идентификатор и проверить, если они уже находятся в моем списке (или словарь или любой другой) , но это кажется очень трудоемким. Я достаточно хорошо знаком с LINQ, чтобы заподозрить, что он может красиво свернуть эти данные, но не достаточно хорошо знаком для точного метода, который приходит на ум.