У нас есть наш собственный ORM, который мы используем здесь, и предоставляем строго типизированные обертки для всех наших таблиц db. Мы также разрешаем использовать слабо типизированный ad-hoc SQL, но эти запросы по-прежнему проходят через один и тот же класс для получения значений из устройства чтения данных.
При настройке этого класса на работу с Oracle мы сталкиваемся с интересным вопросом. Лучше ли использовать DBNull.Value или null? Существуют ли какие-либо преимущества использования DBNull.Value? Кажется более "правильным" использовать null, так как мы отделились от мира БД, но есть последствия (вы можете не просто слепо ToString(), когда значение равно null), поэтому его определенно нам нужно принять осознанное решение.