在修改SQL Server数据库中的数据时,您可以使用System.DBNull.Value
或null
来表示NULL
值。这两种方法都可以工作,并将正确的值设置为NULL
。
我的问题是 - 哪个更好,并为什么?是否有某些情况应该使用其中之一代替另一个?
在修改SQL Server数据库中的数据时,您可以使用System.DBNull.Value
或null
来表示NULL
值。这两种方法都可以工作,并将正确的值设置为NULL
。
我的问题是 - 哪个更好,并为什么?是否有某些情况应该使用其中之一代替另一个?
从System.DBNull.Value != null开始,通过测试此代码:
var result = (System.DBNull.Value == null); // this is always false
DBNull.Value
而不是null
引用。
虽然在INSERT
或UPDATE
数据时使用哪一个都没有关系,但我倾向于在数据访问代码中始终使用DBNull.Value
来保持一致性。
在问题C# Database Access: DBNull vs null中有各种其他观点。DBNull代表一种变体,不是特定类型。在一般情况下,我期望在任何需要强类型数据集的结构中,如果需要将DBNull转换为“类型化的NULL”,则会有性能损失。
DBNull
。 - Yuck