簡體   English   中英

LINQ .Sum()返回不正確的數據

[英]LINQ .Sum() is returning incorrect data

我的數據庫表具有以下內容:

ID   PollID Count
1    6      0    
2    6      1

顯然這樣做是: SELECT SUM([COUNT]) WHERE POLLID = 6將返回1

但是,此LINQ代碼返回2。

long totalVoteCount = (from pa2 in df.PollAnswers
                       where pa2.Poll.ID == pollID
                      select pa.Count).Sum();

在寫這個問題時,我注意到上面的LINQ代碼為其他查詢返回了不正確的數據。 我到底在做什么錯? 我要總結COUNT列的prticular POLLID。

您正在從查詢中投影pa.Count而不是pa2.Count

因此,如果作用域中有一個pa變量引用了Count屬性為1的對象,並且df.PollAnswers有兩項,則查詢實際上始終返回2

而不是從df.PollAnswers中選擇,然后執行pa2.Poll.ID,您應該嘗試直接從Polls集合(或其名稱)中進行選擇。 這樣,您可能會得到一些重復,或者您的查詢沒有意義。

暫無
暫無

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

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