我有一个具有两个相关属性的可查询对象集合,Retailer
并且Price
. 我想为每个零售商选择一个对象(价格最低的那个),然后显示按零售商名称的第一个字母分组的对象列表,例如与以字母“A”开头的零售商的最低价格相对应的所有对象在第一组中,下一组为“B”等。
一旦我按零售商对我的 Linq 查询进行分组,我很难弄清楚如何在Select
不将查询减少到Price
属性列表的情况下对对象进行查询,从而丢失对对象的引用,例如
var query = from o in myCollection.Cast<MyObjectType>()
group o.GetPrice(someParameter) by o.Retailer into oGroup
select oGroup.Min() // <-- at this point I've 'lost' the objects
// and just have a list of prices
// I also need to then group the results
// by o.Retailer.ToString()[0]
我使用的是 Windows Phone 7,所以 Linq 可能会受到限制。