digits = reverse . unfoldr go
where go = uncurry (*>) . (&&&) (guard . (>0)) (Just . swap . (`quotRem` 10))
Ниже показано, как я получил его на работу. Так что я был близок, мне просто нужно было добавить (int?) К null, и теперь это работает
AccountUid = dr["ACCOUNT_UID"] == DBNull.Value ? (int?)null : Convert.ToInt32(dr["ACCOUNT_UID"])