没有分组,重写“分组”LINQ

时间:2013-04-17 09:26:32

标签: sql-server linq visual-studio-lightswitch

我正在开发Lightswitch应用程序,需要在屏幕上查看一些聚合数据。但LightSwitch不支持“分组依据”和“总和”,所以我的问题是如果不使用它就可以重写。

partial void RuleEntriesByUserSaveId_PreprocessQuery(int? UserSaveId, ref IQueryable<RuleEntry> query)
{
   query = query.Where(re => re.Revision == null || re.Revision == UserSaveId)
                .GroupBy(re => re.Key)
                .Select(g => g.FirstOrDefault(x => x.Revision != null) ?? g.First());
}

我知道我可以制作WCF RIA服务并使用它,但我宁愿不进入那个麻烦。谢谢!

1 个答案:

答案 0 :(得分:1)

更深入地研究这个问题很明显,在PreprocessQuery函数中分组不能。如果需要聚合数据,则必然会使用某种数据层抽象。我设法通过添加this guide中的WCF RIA服务来实现此目的。它需要一些时间来理解,但它最终值得付出努力!