2012-09-28 112 views
0

無法讓這個工作。想從以下LINQ語句得到的總和的所有金額詮釋數據庫:總計來自LINQ查詢

 Dim currentPaid = From a In db.Payments 
          Where a.ForJob = id 
          Select a.Amount 

     Dim totalPaid As Double = currentPaid.Sum() 

因爲它強調了第二statment並說: 重載決策失敗,因爲沒有可訪問的「點心」接受此數量的屬性。

+0

是什麼類型'currentPaid'?你確定錯誤信息是'...屬性數目'而不是'參數數量'? –

+0

currentPaid是上面的LINQ查詢嗎?不知道我是否應該在LINQ聲明中執行總和 – NickP

+2

什麼類型是'currentPaid',是IEnumerable(Of String)',IEnumerable(Of Double)'還是其他?試着用類型聲明它,你可能會看到一個編譯器警告。如果'a.Amount'是f.e.一個字符串,你會得到例外,因爲你不能總結一個字符串 –

回答

2

問另一個問題的代碼,有人回答我的問題正是因此,答案是下面:

Dim totalPaid = db.Payments.Where(Function(a) a.ForJob = jobId).Sum(Function(a) a.Amount) 
+1

嗨,那麼也許你應該刪除_this_問題。它只會導致重複和混亂。改善現有問題是一條路。 –

0
Dim sum = (From a In db.Payments Where a.ForJob = id Select a.Amount).Sum(); 
+0

我現在有一個錯誤錯誤:範圍變量'Amount'隱藏了一個封閉塊或範圍變量,這個變量先前在查詢表達式中定義過。 – NickP