It would be good to see that .RowsAs<T> overload properly handled decimal too.  Instead of using Convert.ToDecimal, use RowsAs<test>.