4
我正在寫一個C#LINQ查詢從SQL表中獲取數據低於LINQ查詢到數據放在一個嵌套的對象
表1
Id Status SubStatus
1 Review Pending
2 Review Complete
3 Review Approved
4 Review Denied
5 Info Processing
6 Info Pending
7 Info Requested
8 Info Received
9 Approval Approved
10 Review Approved
從上表的工作,我想放在一個對象中的數據如下面
public class LastStatusDto
{
public string StatusName { get; set; }
public int StatusId { get; set; }
public int Count { get; set; }
public IEnumerable<LastStatusChildDataDto> drillDownData { get; set; }
}
public class LastStatusChildDataDto
{
public string SubStatusName { get; set; }
public int Count { get; set; }
}
和樣本結果(狀態「評論」)看起來像下面
{
"statusName": "Review",
"statusId": 0,
"count": 5,
"drillDownData":
[{
"subStatusName":"Approved",
"count":2
},
{
"subStatusName":"Complete",
"count":1
},
{
"subStatusName":"Pending",
"count":1
},
{
"subStatusName":"Denied",
"count":1
},
]
}
對於上面的場景,寫一個LINQ查詢是一個好方法。我試圖通過status
分組,但沒能想出一個辦法把substatuses
在嵌套對象像下面
var res = from status in context.Table1
group status by status.Status into s
select new LastStatusDto
{
Count = s.Count(),
StatusName = s.Key,
drilldownData = {/* ? */}
};
爲什麼'StatusId'是LastStatusDto的一個屬性? – JuanR