Suppose you have the color Ids in a list colorIds
then you can do
var query = from p in Products
where p.Colors.Any(c => colorIds.Contains(c.Id))
select p
This will return products having at least the requested colors. If you need products having only these colors, you can change Any
into All
.