无法将"System.Data.Common.DataRecordInternal"类型的对象强制转换为"System.Data.IDataReader"类型

cap*_*gon 4 c# linq

在尝试创建 linq语句时.我遇到了以下错误:

无法将"System.Data.Common.DataRecordInternal"类型的对象强制转换为"System.Data.IDataReader"类型

这是我正在做的@SLaks 有希望的答案.

List<TypeData> = reader.Cast<IDataReader>()
   .Select(dr => new TypeData { Type = (string)dr["type"] })                
   .ToList();
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 7

尝试reader.Cast<DbDataRecord>reader.Cast<IDataRecord>改为:

IEnumerable<TypeData> typeData = reader.Cast<IDataRecord>()
   .Select(dr => new TypeData { Type = (string)dr["type"] });
Run Code Online (Sandbox Code Playgroud)

IDataRecord 接口

提供对DataReader的每行内的列值的访问,并由访问关系数据库的.NET Framework数据提供程序实现.