2013-08-21 29 views
3

我已經使用已填寫表的現有數據庫在Entity Framework中生成了數據模型。嘗試訪問實體框架中的表時出現NULL引用異常

我想從表中訪問數據並填充WPF中的數據網格,但不斷收到空引用異常。

唯一的例外是這裏生成:

pubilc List<item> GetAllItems() 
    { 
     using (var context = new DbEntities()) 
     { 
      if (context.items != null) 
       return context.items.ToList() //exception generated here 
      else 
       return new List<item>(); 
     } 
    } 
+2

你的代碼中的哪一行出現異常?你是否檢查過'context.items'不是null? –

+0

我把一個檢查if(context.items!= null)。它返回true代碼運行,我得到「對象引用未設置爲對象的實例」 – kr13

+0

假設你使用VS,你可以在context.items上設置一個手錶來確認它是否被填充? – IllusiveBrian

回答

0

如果性能是不是一個問題,你可以調用計數()方法,並檢查是否有任何產品返回。

public List<item> GetAllItems() 
{ 
    using (var context = new DbEntities()) 
    { 
     if (context.items.Count() > 0) 
      return context.items.ToList() //exception generated here 
     else 
      return new List<item>(); 
    } 
} 
+3

沒必要。一個空集將返回一個空列表。另外,不要使用Count()> 0,使用Any()。 – CodeCaster

+0

我試了一下代碼。現在,在if條件下使用Count()和Any()生成的異常 – kr13

+0

因此,列表通過空測試,但不能執行任何方法,並說列表爲空? –

相關問題