В C # 3.5 используется ComboBox для отображения результатов запроса LinQ. Как установить свойство selecteditem в выпадающем списке, когда запрос LinQ возвращает анонимный тип?
Я установил источник данных в выпадающем списке следующим образом:
comboBox1.DataSource = from p in db.products
select p;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "ProductId";
Если я это сделаю, я могу выбрать выбранный элемент, выполнив что-то вроде:
comboBox1.SelectedItem = (from p in db.products
where p.ProductId = 5
select p).First();
Проблема в том, что я хочу заполнить комбинированный список результатом анонимного типа, например:
comboBox1.DataSource = from p in db.products
select new
{
p.ProductId,
p.Name
};
Анонимный тип, который я на самом деле использую, более сложен, чем его, но этого достаточно для объяснения.