Criando consultas LINQ dinâmicas com base no valor da caixa de combinação

Eu tenho uma caixa de combinação no Silverlight. Ele possui uma coleção de valores criados com as propriedades de um dos meus objetos LINQ-to-SQL (por exemplo, Nome, Endereço, Idade, etc ...). Gostaria de filtrar meus resultados com base no valor selecionado em uma caixa de combinação.

Exemplo: digamos que eu queira todos com o sobrenome "Smith". Eu selecionaria 'Sobrenome' na lista suspensa e insira smith em um controle de caixa de texto. Normalmente eu escreveria uma consulta LINQ semelhante a ...

var query = from p na coleção
onde p.LastName == textbox.Text
selecione p;

É possível decidir a propriedade dinamicamente, talvez usando o Reflection? Algo como

var query = from p na coleção
onde p. (DropDownValue) == caixa de texto.Texto
selecione p;

questionAnswers(3)

yourAnswerToTheQuestion