将dataReader转换为Dictionary

时间:2012-08-07 09:08:33

标签: linq dictionary datareader

我尝试使用LINQ将一行转换为Dictionary(fieldName - > fieldValue)

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

但收到了错误消息:

实例参数:无法从'System.Collections.Generic.IEnumerable<int>'转换为'System.Collections.Generic.IEnumerable<string>'

如何解决这个问题?

1 个答案:

答案 0 :(得分:15)

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