簡體   English   中英

LINQ to SQL where子句返回零

[英]LINQ to SQL where clause returning zero

當我運行此查詢

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

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

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

即使返回33,它也會返回0。這是唯一不起作用的查詢。 我對另一個列表也做同樣的事情,並且效果很好。 where子句會引起問題嗎?

操作人員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值完全匹配的記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM