No se puede convertir el objeto de tipo ‘System.Data.Common.DataRecordInternal’ para escribir ‘System.Data.IDataReader’

Al intentar crear esta sentencia linq. Me encontré con el siguiente error:

No se puede convertir el objeto de tipo ‘System.Data.Common.DataRecordInternal’ para escribir ‘System.Data.IDataReader’

Esto es lo que estoy haciendo por @SLaks prometedor respuesta .

List = reader.Cast() .Select(dr => new TypeData { Type = (string)dr["type"] }) .ToList(); 

Intente reader.Cast o reader.Cast lugar:

 IEnumerable typeData = reader.Cast() .Select(dr => new TypeData { Type = (string)dr["type"] }); 

Interfaz IDataRecord

Proporciona acceso a los valores de columna dentro de cada fila para un DataReader, y es implementado por proveedores de datos de .NET Framework que acceden a bases de datos relacionales.