我有这段代码:
// initial select omitted
var qry2 = from c in qry
group c by c.ContentId into grouped
let maxdate = grouped.Max(x => x.PublishDate)
select new
{
Key = grouped.Where(x => x.ContentId == grouped.Key && x.PublishDate == maxdate).FirstOrDefault(),
Value = grouped.Where(x => x.ContentId == grouped.Key).Select(x => x.Region)
};
// order, take, todictionary code omitted
这会产生最终结果: http://programad.net/xbltoolsv2beta/Feed/FullGames
正如您所看到的,它会检查最新内容(Key)并显示内容可用的区域(值)。
但是,正如您所注意到的,游戏“变形金刚3”(例如)可在两个地区使用,包括美国。但是使用我的LINQ查询,它会在随机区域显示有关游戏的信息,就像此列表中的其他游戏行为一样。 “Saw II”在美国也有售,但显示其他钱而不是美元(!?)
如何选择USA(我在数据库中使用“en-us”)如果可用,如果没有,请选择其他人?