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