2011-12-17 106 views
0

我想查詢該登錄成功的網站的用戶的asp.net MVC C#的意見,SQL:無法查詢中的LINQ

這是我在我的意見做了:

var query = from i in Model.DataContext.Customers 
      where i.WebAccount == User.Identity.Name 
      select i; 

但它顯示錯誤對象引用未設置爲對象的實例,我不知道爲什麼它是這樣的。 任何人都知道嗎?謝謝。

回答

1

Socheata酒店,

有一個非常好的機會,如果用戶還沒有登錄(因此User.Identity.Name調用將拋出一個錯誤)您User.Identity對象可以爲空。

因此,有映入腦海的幾種方法:

  • 此舉邏輯出來的觀點,進入或者您的服務層或控制器行動

  • 創建一個HTML幫助,提供您從視圖中需要的功能。如果這是跨多個視圖需要,這是有用的

當然有其他選項,但這些將是我的出發點。

2

有幾個問題需要討論。

  1. 您不應該從查看查詢您的數據庫。邏輯保留在控制器中。
  2. 您可能從未在您的視圖模型上設置DataContext屬性。該消息指出「未將對象引用設置爲對象的實例」屬於NullReferenceException,這意味着您正試圖對空值進行訪問。
  3. 再次參閱#1,這很重要。
+0

那麼在我看來,我可以避免這麼做嗎? – Nothing 2011-12-17 03:25:08