Não é possível converter o object do tipo ‘System.Data.Common.DataRecordInternal’ para digitar ‘System.Data.IDataReader’

Ao tentar criar essa instrução linq. Eu corri para o seguinte erro:

Não é possível converter o object do tipo ‘System.Data.Common.DataRecordInternal’ para digitar ‘System.Data.IDataReader’

Isso é o que eu estou fazendo por resposta promissora @SLaks.

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

Tente reader.Cast ou reader.Cast vez disso:

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

Interface IDataRecord

Fornece access aos valores de coluna em cada linha para um DataReader e é implementado pelos provedores de dados do .NET Framework que acessam bancos de dados relacionais.