Это данные, которые я прочитал из базы данных в таблицу данных.
изменяемая таблица именованных таблиц теперь изменена.
Для каждого такого же / отдельного UnitType + UnitZoom + MemberZoom я создаю новый Unit и считываю MemberId в MemberListId - это должно происходить в Порядке, заданном номером MemberOrder. Пример данных:
Единица 1: A B C -> P1, P2
Единица 2: 1 2 3 -> P9, P12, P4
Единица 3: H23 B10 T15 -> X4, T5, Z3, Y1
Мой код на данный момент неправильно сортируется:
var groupedCollection = table.AsEnumerable()
.GroupBy(row => new
{
UType = row.Field<string>("UnitType"),
UZoom = row.Field<string>("UnitZoom"),
MZoom = row.Field<string>("MemberZoom"),
MOrder = row.Field<int>("MemberOrder"),
// I DO NOT WANT the MemberOrder to be in the Group Key, but later on I use this Property to order by it...
});
var unitCollection = groupedCollection
.Select(g => new Unit
{
UnitType = g.Key.UType,
UnitZoom = g.Key.UZoom,
MemberZoom = g.Key.MZoom,
MemberIdList = g.Select(r => r.Field<string>("MemberId")).OrderBy(b => g.Key.MOrder).ToList(),
});
List<Unit> units = unitCollection.ToList();