So I have the following data:
orders:
[
{id: 1, hubId: 1, number:1, IsTrue: true},
{id: 2, hubId: 1, number:2, IsTrue: true},
{id: 3, hubId: 1, number:3, IsTrue: false},
{id: 4, hubId: 2, number:4, IsTrue: true},
{id: 5, hubId: 2, number:5, IsTrue: true},
{id: 6, hubId: 2, number:6, IsTrue: false}
]
I need to create a Linq query that groups the orders according to the hub Id and outputs the result in the following format
result:
[
{
hubId: 1,
orders:
[
{id: 1, number: 1},
{id: 2, number: 2},
]
},
{
hubId: 2,
orders:
[
{id: 4, number: 4},
{id: 5, number: 5},
]
}
]
How do I write the linq query to acheive the wanted result?
My initial query which is not yeilding the result format I require
var orders = _ordersRepo.GetQueryable<Order>().AsNoTracking()
.Where(o => o.IsTrue)
.Select(o => new
{
hubId = o.hubId,
number = o.number,
id = o.id
}).ToList()
.GroupBy(o => o.hubId)
return orders;