问题标签 [igrouping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
70 浏览

c# - 使用实体框架进行分组

我每天每半小时从市场收到 48 个文件。这些文件有一个开始时间作为一个属性。我正在使用实体框架在 Web 应用程序中查看这些文件,因为这些文件有英国时间,但我正在与欧洲市场合作,交易日从前一天晚上 11 点开始,所以我想根据交易将这些文件组合在一起天。

在 SQL 中,我可以通过以下方式完成此操作:

我正在尝试使用以下尝试在 C# 中实现类似的结果:

有什么方法可以先将小时添加到我的分组中,然后仅使用这个新计算值的日期部分?

0 投票
3 回答
236 浏览

c# - LINQ:方法“GroupBy”没有重载需要 6 个参数/IGrouping不包含定义

问题:出现错误

“方法 'GroupBy' 没有重载需要 6 个参数”

很多 SO 文章都是针对特定用户创建的方法。GroupBy 是库的一部分。

我试过改变参数的数量。如果我将其更改为 2 个参数,则错误指向它具有 OrderByDescending 的下一个区域并给出错误:

“IGrouping 不包含‘Start_Date’的定义,并且找不到接受‘IGrouping’类型的第一个参数的扩展方法‘Start_Date’。”

给出此错误的代码是:

在 ListView 中使用

0 投票
2 回答
3453 浏览

c# - C# LINQ GroupBy 将列表转换为具有一个属性作为值列表的组

我有一个对象列表list1

我想将其转换为分组列表

当我使用时,GroupBy我得到了整个东西,( list1.GroupBy(key => key.Name) )

我只想将值作为列表。

0 投票
2 回答
955 浏览

c# - IGrouping.ToList() - 处理空值

我有一个简单的单行 linq 查询来查找列表中包含最高属性值的项目,并且仅当有一定数量的项目符合此条件时才使用它们创建一个新列表。例如:

如果我的列表中有满足这些条件的数据,将创建一个新列表,其中包含 的两个实例MyObject,即 where 的实例MyValue = 8

但是,如果没有符合条件的数据,我会遇到异常,因为IGrouping查询的结果为空,并且调用ToList()它不起作用。例如:

因为MyObject列表中只有两个实例MyValue等于最大值(即 8),所以查询抛出异常


是否可以使用此空值在我的“单行”查询中返回一个空列表?

这样做的明显方法是删除ToList()调用并简单地返回IGrouping结果,并且仅ToList()在它不为空时调用,但我很好奇它是否可以内联完成。

0 投票
1 回答
61 浏览

c# - 在 LINQ 中将 IGrouping 转换为 IQueryable

我需要的是将fooGroup2[ IQueryable<IGrouping<int,PF>] 的结果放入粉丝中,即IQueryiable<PF>

像这样的东西:

0 投票
1 回答
268 浏览

c# - 从 IEnumerable 获取所有组中所有分组项的计数> 分组依据

我使用 LINQ GroupBy 按某些常见属性(重量、颜色等)将水果组合在一起,

然后我做了一些处理,从 IGroupings 列表中删除了一些组(连同该组中的所有水果)。

现在,我想找出(可能通过 LINQ)我在 IEnumerable> groupedFruits 中的进程留下的所有组中的所有水果的总和。

我怎么做?

我不想知道我有多少组。但是,我想知道我在所有这些组中有多少水果

有没有办法只使用 LINQ 而不必遍历每个组来迭代计数器?

0 投票
1 回答
147 浏览

c# - 为什么我在使用 groupby LINQ 时会得到重复的键

我正在使用以下代码段来捕获属于客户的所有债务,这些债务属于唯一的帐号。但是,即使我选择它作为密钥,我也会得到重复的帐号。我太惊讶了。

q

0 投票
1 回答
168 浏览

c# - 如何接口 IGrouping产生多个值?

我想知道我忽略了哪一点。IGrouping<out TKey, out TElement>由 LINQ 使用GroupBy。此外,相同的逻辑适用于ILookupIIRC。因此,它们可以根据指定的键返回多个值。但是,相反,我希望以下签名可以这样做。

最初,它实现IEnumerable<TElement>IEnumerable向后兼容。这是否完成相同的任务?如果是,如何?我不明白。

ILookup使用的后面的意思是否Join/GroupJoin有多个键与多个值的关联?你能举例说明吗?我看过这个问题,但不明白区别,除了他们的惰性评估与立即评估语义。


不再做复杂的事情,但输出可能对每个人都有帮助。

在此处输入图像描述

0 投票
0 回答
81 浏览

c# - 分组实现和空键

我正在将代码转换为 C#9,特别是下面的类实现IGrouping<TKey, TElement>

查找支持空键,所以理论上构造函数应该是: public Grouping(TKey? key, IEnumerable<TElement> elements)

但随后Key = key;引发警告,因为Key未定义为TKey?(根据接口的规范)。

我觉得界面的定义中缺少一些东西,但也许我错过了什么?

0 投票
2 回答
80 浏览

c# - linq group by 生成嵌套 POCO

我有四个表连接以产生如下数据:

如何使用 LINQ group by 将上述数据转换为如下嵌套形式?这是一个 .NET CORE WEB API 项目,使用来自 LINQ 查询数据的 DTO 对象投影。

下面我有两个 viewModel 类,用于生成要从查询返回的嵌套 POCO 数据结构。如果我不使用 GroupBy,我可以生成一个简单的未嵌套 POCO,但我不想将响应数据重复为单独的对象。这是针对 .NET 核心 Web api 项目的。我觉得我很亲近,但是 LINQ 中的 group by 让我失望了……

更新:在了解 lINQ 中的多个 group By 之后,我的 .NET Core WEB API 仍然在抱怨bad request并且不返回嵌套的 JSON。我确实使用装饰器将 LineItems 道具更新为 IDictionary 类型。有趣的是,如果我注释掉 LineItems 的 DTO 部分并将其设置为 null,则响应会正常返回。你能帮忙解决这里的问题吗?