Я пишу простую программу просмотра OLAP для своего сайта. Вот классы (абстрактный пример):
Employee
{
ID;
Name;
Roles[]; //What Employee can do
}
Order
{
Price;
Employee Manager;
Employee Executive; //Maybe wrong english. The person which perform order
}
Сотрудник может быть менеджером и руководителем в заказе одновременно. Это означает, что роль сотрудника не является фиксированной.
Я должен сгруппировать заказы по сотрудникам и, наконец, получить IGrouping с ключом сотрудника.
Так что .GroupBy (el => new {el.Manager, el.Executive}) не допускается.
Я рассмотрел некоторые уловки с IEqualityComparable, но не нашел решения.
Если кто-нибудь поможет, я буду очень рад, спасибо.