2012-08-07 7 views
5

j'ai essayé d'utiliser LINQ pour convertir une ligne au dictionnaire (fieldName -> fieldValue)converti datareader au dictionnaire

return Enumerable.Range(0, reader.FieldCount) 
       .ToDictionary<string, object>(reader.GetName, reader.GetValue); 

mais je reçu un message d'erreur:

argument instance: ne peut pas convertir 'System.Collections.Generic.IEnumerable<int>' à 'System.Collections.Generic.IEnumerable<string>'

Comment corriger cela?

+0

Voir aussi http://stackoverflow.com/a/4286071/292060 – goodeye

Répondre

15
return Enumerable.Range(0, reader.FieldCount) 
       .ToDictionary(
        i => reader.GetName(i), 
        i => reader.GetValue(i));