C # -Datenbankzugriff: DBNull vs null

Wir haben unseren eigenen ORM, den wir hier verwenden, und stellen stark typisierte Wrapper für alle unsere DB-Tabellen bereit. Wir erlauben auch die Ausführung von Ad-hoc-SQL mit schwachem Typ, aber diese Abfragen durchlaufen immer noch dieselbe Klasse, um Werte aus einem Datenleser abzurufen.

Bei der Anpassung dieser Klasse an Oracle sind wir auf eine interessante Frage gestoßen. Ist es besser, DBNull.Value oder null zu verwenden? Gibt es irgendwelche Vorteile bei der Verwendung von DBNull.Value? Es scheint "korrekter" zu sein, null zu verwenden, da wir uns von der DB-Welt getrennt haben, aber es gibt Implikationen (Sie können nicht einfach blind sein)ToString() Wenn ein Wert zum Beispiel null ist, ist dies definitiv etwas, worüber wir eine bewusste Entscheidung treffen müssen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage