Я работаю с базой данных AdventureWorks и использую следующий запрос:
SELECT c.CustomerID, c.AccountNumber, soh.SalesOrderID, soh.SalesOrderNumber, sod.UnitPrice, sod.ProductID, p.Name
FROM Sales.SalesOrderHeader soh
inner join sales.SalesOrderDetail sod on soh.SalesOrderID = sod.SalesOrderID
inner join sales.Customer c on c.CustomerID = soh.CustomerID
inner join Production.Product p on p.ProductID = sod.ProductID
У меня уже есть код, который заполняет данные так же, как они возвращаются: ![enter image description here](https://i.stack.imgur.com/KHAR0.jpg)
Исходя из этого, я хочу объединить дочерние объекты списка в один родительский элемент, чтобы в итоге получить структуру «один ко многим», если это имеет смысл.
На данный момент янадеясь использовать для этого лямбда-выражение .Я пробовал следующий код, но я не хочу указывать -> o.CustomerID, o.AccountNumber в группе, потому что мне нужно было бы указать ВСЕ свойства моего класса Customer дляиметь доступ к окончательному выбору, как вы можете видеть в коде.
.GroupBy(o => new { o.CustomerID, o.AccountNumber }).Select(group => new Customer2
{
CustomerID = group.Key.CustomerID,
AccountNumber = group.Key.AccountNumber,
Orders = group.SelectMany(x => x.Orders).ToList()
}).ToList();
Я бы хотел, чтобы конечный результат выглядел для каждого клиента так: ![enter image description here](https://i.stack.imgur.com/NKKuJ.jpg)
Надеюсь, что это имеет смысл, и заранее спасибо за помощь.