public static IEnumerable <Tdto> CastAll <Tdto>(this MySqlDataReader dataReader, CancellationToken cancellationToken) { var result = new List <Tdto>(); while (!cancellationToken.IsCancellationRequested && !dataReader.IsClosed && dataReader.Read()) { var dtoInstance = dataReader.Cast <Tdto>(); result.Add(dtoInstance); } return(result); }