'Filter List inside List Linq

I have list say list of customers and inside each list there is another list of orders

Class Customer
{
int ID,
string Name
List<Order> orders
}

Class Order{
int ID,
string Name
}
Also have a integer list of filteredorderIds = {1,2,3,4}

I want to filter the list of customers who has got orderIds from filteredorderIds list.

So far I am stuck at query like

var filteredCustomers = Customers.Where(x => x.Orders.Any(filteredorderIds.contains(y => y.Id)));


Solution 1:[1]

please give credit to @Johnathan Barclay, since he posted faster than i typed example

void Main()
{
    var customers = new List<Customer>(){
        new Customer(){
            ID =1,
            Name = "Cust1",
            orders = new List<Order>(){
                new Order(){ID = 4, Name = "o11"},
                new Order(){ID = 5, Name = "o12"},
                new Order(){ID = 6, Name = "o13"}
            }
        },
        new Customer(){
            ID = 2,
            Name = "Cust2",
            orders = new List<Order>(){
                new Order(){ID = 3, Name = "o21"},
                new Order(){ID = 7, Name = "o22"},
                new Order(){ID = 8, Name = "o23"}
            }
        }
    };

    customers.Where(w =>
            w.orders.Any(w => filteredorderIds.Contains(w.ID))
    ).Dump();
}

List<int> filteredorderIds = new List<int>() { 1, 2, 3, 4 };

public class Customer
{
    public int ID { get; set; }
    public string Name { get; set; }
    public List<Order> orders { get; set; }
}

public class Order
{
    public int ID { get; set; }
    public string Name { get; set; }
}

enter image description here

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Power Mouse