2012-05-31 56 views
0
public Nullable<bool> BROUGHT { get; set; } // EDMX generate this code, so I can not change this 

我想null檢查BROUHGT(DB)列。Asp.Net MVC3,布爾列空檢查

所以我寫這樣

if (table.BROUGHT != DBNull.Value && Convert.ToBoolean(table.BROUGHT)){..} 

但錯誤消息說代碼,

Error 2 Operator '!=' cannot be applied to operands of type 'bool?' and 'System.DBNull' ... 

如何我空檢查該列?

謝謝!

回答

2

實體框架是一個ORM,它讓你不必考慮DBNull.Value。因此,只要對證null就像你會在其他C#代碼:

if (table.BROUGHT != null && table.BROUGHT.Value){..} 

不,因爲它是一個可空類型,以獲得實際bool價值,你必須要麼使用.Value屬性(如上),或將其轉換爲一個bool

+0

非常感謝你,.Value是否也適用於可空字符串? –

+0

@Expertwannabe,字符串不是(空)的值類型,所以它們* * * null * *或*一個有效的字符串。沒有價值財產。 –

+0

啊哈,我明白了。所以對於bool,int,日期和小數類型可以使用.Value。謝謝! –