2012-01-18 105 views

回答

12

如果intnullable,則只能比較intNULL。如果不是,則int的默認值將是0,並且從不會是null

你定義一個可空整型屬性是這樣的:

int? value { get; set; } 

,並檢查它是這樣的:

if (value != null) 
{ 
    int x = value.Value; 
} 

在一個LINQ的where子句查詢這將是

var result = from d in data 
      where d.Value != null 
      select d 
7

如果您要比較null的值,則必須先將您的值與進行比較由於錯誤。

var field = from field in table 
      where (value == null ? field.property == null : field.property == value) 
      select field; 
+0

我在哪裏可以找到關於此錯誤的更多信息? – Eric 2014-01-17 11:10:40

+1

@Eric http://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions/suggestions/1015361-incorrect-handling-of-null-variables-in-where-cl ?REF =冠軍 – 2015-01-31 02:26:04