C# Asp.Net MVC3,布尔列空检查

C# Asp.Net MVC3,布尔列空检查,c#,asp.net,C#,Asp.net,但是错误消息说 if (table.BROUGHT != DBNull.Value && Convert.ToBoolean(table.BROUGHT)){..} 如何检查该列的空值 谢谢大家! 实体框架是一种ORM,它使您不必考虑DBNull.Value。所以只需检查null,就像在其他C#代码中一样: 并不是因为它是一个可空类型,所以要获得实际的bool值,您必须使用.value属性(如上所述)或将其强制转换为bool哇,非常感谢。值也适用于可空字符串吗?@Expertw

但是错误消息说

if (table.BROUGHT != DBNull.Value && Convert.ToBoolean(table.BROUGHT)){..}
如何检查该列的空值


谢谢大家!

实体框架是一种ORM,它使您不必考虑
DBNull.Value
。所以只需检查
null
,就像在其他C#代码中一样:


并不是因为它是一个可空类型,所以要获得实际的
bool
值,您必须使用
.value
属性(如上所述)或将其强制转换为
bool

哇,非常感谢。值也适用于可空字符串吗?@Expertwannabe,字符串不是(可空)值类型,因此,它们要么是
null
,要么是有效字符串。没有价值的财产。啊哈,我明白了。所以对于bool、int、date和decimal类型,可以使用.Value。谢谢大家!@Expertwannabe,是的,但前提是它们在数据库中也可以为空。否则,它们将只是普通的
int
DateTime
、和
decimal
类型,这些类型不具有(或不需要)
.Value
属性。(当然,它们不可能为空)
if (table.BROUGHT != DBNull.Value && Convert.ToBoolean(table.BROUGHT)){..}
Error   2   Operator '!=' cannot be applied to operands of type 'bool?' and 'System.DBNull' ...
if (table.BROUGHT != null && table.BROUGHT.Value){..}