windows phone 7 - How do I reduce a 'group'ed Linq query of back to a flat IEnumerable? -


i have queryable collection of objects 2 relevent properties, retailer , price. want select object (the 1 lowest price) each retailer , present list of objects grouped first letter of retailer's name e.g. objects corresponding lowest price retailers beginning letter 'a' in first group, next group 'b' etc.

i'm having hard time figuring out once have grouped linq query retailer, how make select query on objects without reducing query list of price attributes , hence losing references objects e.g.

var query = o in mycollection.cast<myobjecttype>()             group o.getprice(someparameter) o.retailer ogroup             select ogroup.min() // <-- @ point i've 'lost' objects                                  //     , have list of prices                                 //     need group results                                  //     o.retailer.tostring()[0] 

i using windows phone 7 linq may limited.

so need list of key value pairs retailer , minimum price? can't select anonymous type this?

var query = o in mycollection.cast<myobjecttype>()             group o.getprice(someparameter) o.retailer ogroup             select new { retailer = ogroup.key, min = ogroup.min() }; 

or can create custom class or keyvaluepair too.


Comments