Невозможно привести объект типа «System.Data.Common.DataRecordInternal» к типу «System.Data.IDataReader».

При попытке создатьэтот Linq заявление. Я столкнулся со следующей ошибкой:

Unable to cast object of type 'System.Data.Common.DataRecordInternal' to type 'System.Data.IDataReader'

Это то, что я делаю на @SLaksмногообещающий ответ.

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

Ответы на вопрос(1)

Ваш ответ на вопрос