Я пытаюсь применить небольшую групповую / перекрестную логику к списку IEnumerable определенного пользователем объекта, и мне было интересно, может ли кто-нибудь помочь мне. Я застрял с существующей (довольно раздражающей) объектной моделью для работы, но в любом случае здесь идет ...
рассмотрим следующий класс, который я сконцентрирую только на соответствующих свойствах, чтобы вы получили jist ...
public class Holding
{
private void Institution;
private string Designation;
private Owner Owner;
private Event Event;
private Shares Shares;
}
Я хочу преобразовать это в список, который удовлетворяет следующему ...
- Объект сгруппирован по Учреждению.
- Этот родительский список учреждений содержит список нового объекта с уникальной комбинацией Обозначение и Владелец.
- Теперь для каждой из этих комбинаций Обозначение и Владелец мы получаем еще один дочерний список уникальных событий.
Так что это в основном 3 списка.
Я не уверен, возможно ли это с помощью IEnumerable List или нет, я довольно долго играл с методом расширения GroupBy, но пока безрезультатно. Я хотел бы, чтобы большинство делало это таким образом, но я использую linq-to-sql, чтобы получить первоначальный список владений, который выглядит следующим образом и может быть лучшим местом для ведения бизнеса ...
public static List<Holding> GetHoldingsByEvents(
int eventId1,
int eventId2)
{
DataClassesDataContext db = new DataClassesDataContext();
var q = from h in db.Holdings
where
h.EventId == eventId1 ||
h.EventId == eventId2
select h;
return q.Distinct().ToList();
}
Любая помощь / руководство будет высоко ценится ...
Заранее спасибо.