[英]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.