Linq-to-SQL ToDictionary()

Comment convertir deux colonnes à partir de SQL (2008) à l'aide de Linq dans un Dictionnaire (pour la mise en cache)?

Je suis actuellement en boucle à travers le IQueryable b/c je ne peux pas obtenir le ToDictionary méthode de travail. Des idées?
Cela fonctionne:

var query = from p in db.Table
            select p;

Dictionary<string, string> dic = new Dictionary<string, string>();

foreach (var p in query)
{
    dic.Add(sub.Key, sub.Value);
}

Ce que j'aimerais vraiment faire est quelque chose de ce genre, qui ne semble pas fonctionner:

var dic = (from p in db.Table
             select new {p.Key, p.Value })
            .ToDictionary<string, string>(p => p.Key);

Mais j'obtiens cette erreur:
Impossible de convertir de 'Système.Linq.IQueryable' à 'Système.Les Collections.Génériques.IEnumerable'

InformationsquelleAutor Codewerks | 2008-10-28