Usando a propriedade SelectedItem da ComboBox com tipo anônimo Linq

No C # 3.5, usando uma ComboBox para exibir os resultados de uma Consulta LinQ. Como definir a propriedade selecteditem da caixa de combinação quando a consulta LinQ está retornando um tipo anônimo?

Defino a fonte de dados da caixa de combinação ao longo destas linhas:

comboBox1.DataSource = from p in db.products
                   select p;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "ProductId";

Se fizer isso, posso escolher o item selecionado fazendo algo como:

comboBox1.SelectedItem = (from p in db.products 
                          where p.ProductId = 5 
                          select p).First();

O problema é que eu quero preencher uma caixa de combinação com um resultado do tipo anônimo como:

comboBox1.DataSource = from p in db.products
                   select new
                   {
                     p.ProductId,
                     p.Name
                   };

O tipo anônimo que estou usando é mais complicado do que isso, mas basta uma explicaçã

questionAnswers(2)

yourAnswerToTheQuestion