2014-05-04 128 views
2

當我運行此查詢LINQ到SQL where子句返回零

var query = from a in db.commentsTable 
      select a; 

返回結果的正確的量,但是當我運行此查詢

var query = from a in db.commentsTable 
      where a.UserId == userId 
      select a; 

返回0,即使它應該返回33.這是唯一不起作用的查詢。我對另一個列表做了相同的處理,並且工作正常。 Where子句是否會導致問題?

回答

1

運營商where不會造成問題。它只是被翻譯成SQL子句WHERE。因此,您將生成如下查詢:

SELECT [t0].[UserId], [t0].[Foo], [t0].[Bar] -- other fields from entity 
FROM [dbo].[commentsTable] AS [t0] 
WHERE [t0].[UserId] = @p0 

沒有魔力。如果結果爲零,那麼數據庫中沒有記錄,其[UserId]字段等於傳遞參數p0的值。

設置此查詢斷點並驗證其userId你逝去的價值。還要驗證您連接的是哪個數據庫,並檢查是否有與userId值完全匹配的記錄。

+1

你是砰的一聲。問題出在哪裏添加的ID。感謝您的迴應。 – JohnMcDonagh22