C # Database Access: DBNull vs null

Mamy własny ORM, którego używamy tutaj, i zapewniamy silnie wpisane opakowania dla wszystkich naszych tabel db. Pozwalamy również na wykonanie słabo wpisanego kodu ad-hoc SQL, ale te zapytania nadal przechodzą przez tę samą klasę, aby uzyskać wartości z czytnika danych.

Dostosowując tę ​​klasę do pracy z Oracle, natknęliśmy się na interesujące pytanie. Czy lepiej jest użyć DBNull.Value lub null? Czy korzystanie z DBNull.Value przynosi jakieś korzyści? Wydaje się, że bardziej poprawne jest używanie wartości null, ponieważ oddzieliliśmy się od świata DB, ale są implikacje (nie można po prostu ślepoToString() gdy wartość jest na przykład null), więc zdecydowanie musimy podjąć świadomą decyzję.

questionAnswers(4)

yourAnswerToTheQuestion