小编MAO*_*MAO的帖子

在 ObservableCollection 上使用 LINQ 和 GroupBy 和 Sum 聚合

我有以下代码块可以正常工作;

var boughtItemsToday = (from DBControl.MoneySpent
            bought in BoughtItemDB.BoughtItems
            select bought);

BoughtItems = new ObservableCollection<DBControl.MoneySpent>(boughtItemsToday);
Run Code Online (Sandbox Code Playgroud)

它从我的 MoneySpent 表中返回数据,其中包括 ItemCategory、ItemAmount、ItemDateTime。

我想将其更改为按 ItemCategory 和 ItemAmount 分组,这样我就可以看到我把大部分钱花在哪里了,所以我创建了一个 GroupBy 查询,最后得到了这个;

var finalQuery = boughtItemsToday.AsQueryable().GroupBy(category => category.ItemCategory); 

BoughtItems = new ObservableCollection<DBControl.MoneySpent>(finalQuery);
Run Code Online (Sandbox Code Playgroud)

这给了我 2 个错误;

错误 1 ​​“System.Collections.ObjectModel.ObservableCollection.ObservableCollection(System.Collections.Generic.List)”的最佳重载方法匹配有一些无效参数

错误 2 参数 1:无法从“System.Linq.IQueryable>”转换为“System.Collections.Generic.List”

这就是我被困的地方!如何使用 GroupBy 和 Sum 聚合函数在 1 个 LINQ 查询中获取我的类别和相关支出的列表?!

感激地收到任何帮助/建议。

标记

c# linq group-by sum observablecollection

3
推荐指数
1
解决办法
8367
查看次数

标签 统计

c# ×1

group-by ×1

linq ×1

observablecollection ×1

sum ×1