1

Trying to get an IEnumerable WorkOrderHeader given the following table structure:

OrderHeader 1:many OrderDetails
OrderDetail 1:1 WorkOrderHeader

Code:

public IEnumerable<WorkOrderHeader> GetInProcessWorkOrdersForOrderBy(OrderHeader orderHeader)
{
    var orderDetails = orderHeader.OrderDetails;
    var workOrders= orderDetails.Select(od => od.WorkOrderHeaders.Where(woh => woh.StatusId < (int)WorkOrderStatus.Complete));
    return workOrders;
}

This is returning a nested IEnumerable<IEnumerable<WorkOrderHeader>>. How do I get just the inner IEnumerable<WorkOrderHeader>?

Yuck
  • 47,217
  • 13
  • 101
  • 134
crichavin
  • 4,460
  • 9
  • 43
  • 90

1 Answers1

2

I think you are looking for SelectMany

var workOrders= orderDetails.SelectMany(od => ...)
Aducci
  • 25,111
  • 8
  • 64
  • 65