I'd say you want something like this:
from c in Customers
where c.CustomerOrders.Any()
select new
{
customer,
Orders =
from co in c.CustomerOrders
where co.TotalPrice > 100
select co.OrderDetails
}
Or, if you don't have an "TotalPrice" column in the CustomerOrder table, replace the inner query with this:
Orders =
from cp in c.CustomerOrders
where co.OrderDetails.Sum (od => od.Price) > 100
select co.OrderDetails
Edit: if you want to include customers only with at least one order with OrderTotalPrice more than 100, use a let statement:
from c in Customers
let highValueOrders =
from co in c.CustomerOrders
where co.TotalPrice > 100
select co.OrderDetails
where highValueOrders.Any()
select new
{
customer,
highValueOrders
}
You can add more conditions in a similar fashion.