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
  • 49,664
  • 13
  • 105
  • 135
crichavin
  • 4,672
  • 10
  • 50
  • 95

1 Answers1

2

I think you are looking for SelectMany

var workOrders= orderDetails.SelectMany(od => ...)
Aducci
  • 26,101
  • 8
  • 63
  • 67