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