2012-08-07 14 views
5

Próbowałem używać LINQ do konwersji jednego wiersza do słownika (fieldName -> fieldValue)nawrócony dataReader do słownika

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

ale otrzymałem komunikat o błędzie:

argumentem Instance: nie można przekonwertować z 'System.Collections.Generic.IEnumerable<int>' do 'System.Collections.Generic.IEnumerable<string>'

Jak rozwiązać ten problem?

+0

Zobacz także http://stackoverflow.com/a/4286071/292060 – goodeye

Odpowiedz

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