var query = _sqlDbContext.RequestTemplates
.Select(rt => new TemplateViewModel
{
templateName = rt.TemplateName,
requests = _sqlDbContext.RequestTemplateItems
.Where(ti => ti.RequestTemplateID == rt.RequestTemplateID)
.Select(ti => new RequestViewModel
{
category = new CategoryViewModel
{
categoryId = ti.RequestCategoryID,
categoryName = ti.RequestCategory.RequestCategoryName
},
items = new List<ItemViewModel> { new ItemViewModel
{
itemName = ti.ItemName,
dueDate = ti.DueDate,
備注 = ti.Notes
}}
})
.ToList()
});
按照上面的LINQ查詢,我得到的結果如下:-
"request":[
{
"category":{
"categoryId":2。
"categoryName":"2".
},
" items":[
{
"itemName":"2 Item 1"。
" dueDate":""。
"notes":"Item 1 Note"。
}
]
},
{
"類別":{
"categoryId":2,
"categoryName":"2".
},
" items":[
{
"itemName":"2 Item 2"。
" dueDate":""。
"notes":"".
}
]
}
對于同一類別的ID,專案被回傳兩次。我無法找到我需要添加分組的地方,以獲得以下輸出
。 "request"/span>:[
{
"category":{
"categoryId":2。
"categoryName":"2".
},
" items":[
{
"itemName":"2 Item 1"。
" dueDate":""。
"notes":"Item 1 Note"。
},
{
"itemName":"2專案2"。
" dueDate":""。
"notes":"Item 1 Note"。
}
]
}
模型資訊如下
RequestTemplates具有主鍵RequestTemplateID的RequestTemplateItem串列。 RequestTemplateItem有RequestTemplate和RequestCategory的物件,有FK_RequestTemplateID和FK_RequestCategoryID。uj5u.com熱心網友回復:
還沒有測驗,但類似這樣的東西應該可以作業:
var query = _sqlDbContext.RequestTemplates
.Select(rt => new TemplateViewModel
{
templateName = rt.TemplateName,
requests = _sqlDbContext.RequestTemplateItems
.Where(ti => ti.RequestTemplateID == rt.RequestTemplateID)
.GroupBy(ti => ti.RequestCategoryId)
.Select(group => new RequestViewModel
{
category = new CategoryViewModel
{
categoryId = group.Key,
categoryName = group.First().RequestCategoryName
},
items = group.select(ti => new ItemViewModel
{
itemName = ti.ItemName,
dueDate = ti.DueDate,
注釋 = ti.Notes
}
})
.ToList()
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/310104.html
標籤:
