【问题标题】:GroupBy Linq IEnumerable errorGroupBy Linq IEnumerable 错误
【发布时间】:2015-06-18 21:19:55
【问题描述】:

我正在尝试对 IEnumerable 进行分组。但是,每当我尝试完成时,我都会不断收到错误消息。

Dim query As IEnumerable(Of CreditItem) = _
    From credits In unprocessedCredits _
    Group credits By unprocessedCreditsGrouped = _
           New With {Key .Make = credits.Make, _ 
                     Key .Part = credits.PartNumber, _
                     Key .CustomerNumber = credits.CustomerNumber, _ 
                     Key .OrderNumber = credits.OrderNumber} _
    Into Group _
                    Select New CreditItem With { _
                    .Make = unprocessedCreditsGrouped.Make, _
                    .Part = unprocessedCreditsGrouped.PartNumber, _
                    .CustomerNumber = unprocessedCreditsGrouped.CustomerNumber, _
                    .OrderNumber = unprocessedCreditsGrouped.OrderNumber _
                    })

我需要按多个属性分组,例如按品牌、零件编号、客户编号。 unprocessedCredits 还包含字段“数量”,我需要根据 group by 子句获取数量的总和。选择新 CreditItem 不起作用。获取一些未为指定参数指定的参数。

但是,我不知道我是否真的需要 select 语句,因为我真的想选择这个 ienumerable 中的所有内容。

不只是这些属性,但我认为 group by 不可能?

【问题讨论】:

  • 您遇到什么错误?您的返回类型将是 IGrouping(Of AnoinymousType, Of CreditItem),除非您稍后有 Select 没有显示。
  • 编辑了原始帖子以更清楚地反映。

标签: vb.net linq group-by ienumerable


【解决方案1】:

您可以直接创建CreditItem 作为分组变量:

Dim query As IEnumerable(Of CreditItem) = _
    From credits In unprocessedCredits _
    Group credits By unprocessedCreditsGrouped = _
           New CreditItem With _
                         { _
                             .Make = credits.Make, _ 
                             .Part = credits.PartNumber, _
                             .CustomerNumber = credits.CustomerNumber, _ 
                             .OrderNumber = credits.OrderNumber _
                         } _
    Into Group _
    Select unprocessedCreditsGrouped

【讨论】:

  • 我在 New CreditItem 上收到错误消息。未为“Friend Sub New(sqlR As System.Data.SqlClient.SqlDataReader)”的参数“sqlR”指定参数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多