I've implemented a solution that works, but LINQ is a something nre for me and I am struggling to find the required information.
Here is what I have:
var prodCat = from pc in db.ProductCategories
where pc.Category == Int32.Parse(CategoriesDropper.SelectedValue)
select pc;
List<int> productIds = new List<int>();
foreach (var pc in prodCat)
{
productIds.Add(pc.Product);
}
var products = from p in db.Products
where productIds.Contains(p.Id)
select p;
ProductsGridView.DataSource = products;
ProductsGridView.DataBind();
Ideally I would like to achieve the same result with a single select rather than two.