2012-08-07 12 views
5

Tôi cố gắng để sử dụng LINQ để chuyển đổi một hàng để từ điển (fieldName -> fieldValue)convert DataReader vào Từ điển

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

nhưng tôi nhận được thông báo lỗi:

luận Instance: không thể chuyển đổi từ 'System.Collections.Generic.IEnumerable<int>' để 'System.Collections.Generic.IEnumerable<string>'

Cách sửa lỗi này?

+0

Xem thêm http://stackoverflow.com/a/4286071/292060 – goodeye

Trả lời

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