【发布时间】:2021-12-23 10:05:07
【问题描述】:
我正在尝试执行 Join、GroupBy 两列并选择新列表作为
var v = master.Join(
detail,
o => o.Id,
d => d.OrderId,
(o, d) => new
{
DateAdded = o.DateAdded,
VatRate = d.VatRatePercentage,
InvoiceDescription = o.InvoiceDescription
}).GroupBy(c => new
{
c.DateAdded,
c.VatRate
})
.Select(gcs => new
{
DateAdded = gcs.Key.DateAdded.Date,
VatRate = gcs.Key.VatRate,
InvoiceTypeDescription = gcs.Key.InvoiceDescription,
}
).ToList();
但我得到了错误
'<anonymous type: DateTime DateAdded, decimal VatRate>' does not contain a definition for 'InvoiceTypeDescription' and no accessible extension method 'InvoiceTypeDescription' accepting a first argument of type '<anonymous type: DateTime DateAdded, decimal VatRate>' could be found
我想按两列(DateAdded、VatRate)进行分组,但同时在结果中获取 InvoiceDescription 列。我该如何解决?
【问题讨论】:
-
您是否意识到
gcs是一组具有相同DateAdded和VatRate的事物的组,但可能具有不同的InvoiceDescriptions?现在知道了,哪个InvoiceDescription想要从每个组中获得? -
你这是什么意思?我希望在 GroupBy 子句之前从连接结果中获得发票描述
-
你能展示一些示例输入和输出吗?我在说
Select子句中的“从连接结果中获取发票描述”是没有意义的。