I have a
List
that I retrieve from the database. However, I would like it keyed by a property in MyObject for grouping pu
You should use the ToLookup extension method on the Enumerable class like so:
List<MyObject> list = ...;
ILookup<long, MyObject> lookup = list.ToLookup(o => o.KeyedProperty);
If you want to place that in a dictionary, then you could use the ToDictionary extension method, like so:
IDictionary<long, IEnumerable<MyObject>> dictionary = lookup.ToDictionary(
l => l.Key);
It sounds like you want to group the MyObject
instances by KeyedProperty
and put that grouping into a Dictionary<long,List<MyObject>>
. If so then try the following
List<MyObject> list = ...;
var map = list
.GroupBy(x => x.KeyedProperty)
.ToDictionary(x => x.Key, x => x.ToList());