2012-11-21 126 views
1

我有一個包含用戶的模型。每個用戶必須有一個人員記錄。人員記錄可能有也可能沒有地址記錄。檢查導航屬性是否爲空實體框架

當我獲取當前登錄的用戶的地址我目前正在使用以下這對我來說似乎令人難以置信的混亂。有一個更好的方法嗎?

public Address GetAddress() 
    { 
     using (eziTraceEntities db = new eziTraceEntities()) 
     { 
      if (db.Users.Where(u => u.ID == Globals.UserID).FirstOrDefault().Person.Address != null) 
       return db.Users.Where(u => u.ID == Globals.UserID).FirstOrDefault().Person.Address; 
      else 
       return new Address(); 
     } 
    } 

謝謝!

回答

2

可以使用null coalesce operator

using (eziTraceEntities db = new eziTraceEntities()) 
    { 
     return db.Users.Where(u => u.ID == Globals.UserID).FirstOrDefault().Person.Address ?? new Address(); 
    } 
+0

謝謝,我甚至沒有想到! – Paul