Proyección en KeyValuePair a través de EF / Linq

Estoy intentando cargar una lista de KeyValuePairs de una consulta EF / Linq como esta:

return (from o in context.myTable 
select new KeyValuePair<int, string>(o.columnA, o.columnB)).ToList();

Mi problema es que esto resulta en el error.

"Solo LINQ para Entidades admite constructores e inicializadores sin parámetros".

¿Hay una manera fácil de evitar esto? Sé que podría crear una clase personalizada para esto en lugar de usar KeyValuePair, pero eso parece re-inventar la rueda.

Respuestas a la pregunta(3)

Su respuesta a la pregunta