我们在这里使用自己的 ORM,并为我们所有的数据库表提供强类型包装器。我们还允许执行弱类型的 ad-hoc SQL,但这些查询仍然通过同一个类从数据读取器中获取值。
在调整该类以使用 Oracle 时,我们遇到了一个有趣的问题。使用 DBNull.Value 还是 null 更好?使用 DBNull.Value 有什么好处吗?使用 null 似乎更“正确”,因为我们已经将自己与 DB 世界分开了,但是有一些影响(例如,当值为 null 时,你不能盲目地ToString()
)所以它绝对是我们需要意识到的关于的决定。