LINQ - конвертировать список в словарь со значением как список

У меня есть

List<MyObject> 

который я извлекаю из базы данных. Тем не менее, я хотел бы, чтобы это было основано на свойстве в MyObject для целей группировки. Как лучше всего LINK включить мой список:

Dictionary<long, List<MyObject>>

У меня есть следующее:

myObjectList.ToDictionary(x => x.KeyedProperty)

Но он возвращает:

Dictionary<long, MyObject>

Ответ 1

Похоже, вы хотите сгруппировать экземпляры MyObject на KeyedProperty и поместить эту группировку в Dictionary<long,List<MyObject>>. Если да, попробуйте следующее

List<MyObject> list = ...;
var map = list
  .GroupBy(x => x.KeyedProperty)
  .ToDictionary(x => x.Key, x => x.ToList());