C# 如何获得LINQ Groupby的嵌套结果
我的代码如下C# 如何获得LINQ Groupby的嵌套结果,c#,entity-framework,linq,asp.net-mvc-4,C#,Entity Framework,Linq,Asp.net Mvc 4,我的代码如下 GetDairyHeaderInfoByEmail(id) .Where(p => p.ATTRIBUTE15 == id) .Select(jk=> new { jk.HEADER_ID_PK, jk.VENDOR_ID, jk.VENDOR_SITE_ID, jk.VENDOR_NAME, jk.ADDRESS_LINE1, jk.ATTRIBUTE15
GetDairyHeaderInfoByEmail(id)
.Where(p => p.ATTRIBUTE15 == id)
.Select(jk=> new {
jk.HEADER_ID_PK,
jk.VENDOR_ID,
jk.VENDOR_SITE_ID,
jk.VENDOR_NAME,
jk.ADDRESS_LINE1,
jk.ATTRIBUTE15
})
.GroupBy(p => p.HEADER_ID_PK)
.Select(p => new {
header_id_pk = p.Key,
invoice_id_pk = _ippDetailServices.GetDairyHeaderInfoByEmail(id).Where(k => k.HEADER_ID_PK == p.Key).Select(c => new { c.APP_INVOICES_ID_PK, c.INVOICE_TYPES, c.IS_HOURLY }).ToList() }).ToList();
我看到的结果如下
GetDairyHeaderInfoByEmail(id)
.Where(p => p.ATTRIBUTE15 == id)
.Select(jk=> new {
jk.HEADER_ID_PK,
jk.VENDOR_ID,
jk.VENDOR_SITE_ID,
jk.VENDOR_NAME,
jk.ADDRESS_LINE1,
jk.ATTRIBUTE15
})
.GroupBy(p => p.HEADER_ID_PK)
.Select(p => new {
header_id_pk = p.Key,
invoice_id_pk = _ippDetailServices.GetDairyHeaderInfoByEmail(id).Where(k => k.HEADER_ID_PK == p.Key).Select(c => new { c.APP_INVOICES_ID_PK, c.INVOICE_TYPES, c.IS_HOURLY }).ToList() }).ToList();
[{
“标题识别码主键”:800.0
但我希望结果如下
GetDairyHeaderInfoByEmail(id)
.Where(p => p.ATTRIBUTE15 == id)
.Select(jk=> new {
jk.HEADER_ID_PK,
jk.VENDOR_ID,
jk.VENDOR_SITE_ID,
jk.VENDOR_NAME,
jk.ADDRESS_LINE1,
jk.ATTRIBUTE15
})
.GroupBy(p => p.HEADER_ID_PK)
.Select(p => new {
header_id_pk = p.Key,
invoice_id_pk = _ippDetailServices.GetDairyHeaderInfoByEmail(id).Where(k => k.HEADER_ID_PK == p.Key).Select(c => new { c.APP_INVOICES_ID_PK, c.INVOICE_TYPES, c.IS_HOURLY }).ToList() }).ToList();
[{
对不起,如果有麻烦的话,这是我的第一个问题。
谢谢
我明白了,我只需要在我的Group By子句中添加那些主列。请1)格式化代码。2)对代码使用代码语法,而不是引号语法。我编辑了一部分作为示例。我本来可以完成全部工作,但我现在正在打电话。如何做到这一点,我在问题的富文本框中没有太多选项可用。感谢您,等待您的示例。再次感谢!尝试编辑您的问题,您应该会看到我是如何格式化代码的。
var dairy = _ippDetailServices.GetDairyHeaderInfoByEmail(id).Where(p =>
p.ATTRIBUTE15 == id).Select(jk=> new { jk.HEADER_ID_PK,
jk.VENDOR_ID,
jk.VENDOR_SITE_ID,
jk.VENDOR_NAME,
jk.ADDRESS_LINE1,
jk.ATTRIBUTE15
}).GroupBy(p => new { p.HEADER_ID_PK,
p.VENDOR_ID, p.VENDOR_SITE_ID,
p.VENDOR_NAME, p.ADDRESS_LINE1,
p.ATTRIBUTE15 }).Select(p => new {
header_id_pk = p.Key, invoice_id_pk =
_ippDetailServices.GetDairyHeaderInfoByEmail(id).Where(k => k.HEADER_ID_PK ==
p.Key.HEADER_ID_PK).Select(c => new { c.APP_INVOICES_ID_PK,
c.INVOICE_TYPES,
c.IS_HOURLY }).ToList() }).ToList();