2017-08-10 33 views
-3

我想下面的SQL查詢被寫入實體框架或LINQ.Can任何一個請幫我在這LINQ負值

SQL查詢:

select sum(CreditAmount)-sum(DebitAmount) 
from [dbo].[JournalEntries] 
where FKSubscriberID =3 and FKAccountID =1 
+3

你試過*什麼*尚未?這看起來應該是相當簡單的,特別是如果你認爲它是一個「總和(CreditAmount-DebitAmount)」。請顯示你已經嘗試了什麼,出了什麼問題。我建議你編輯你的標題也要清楚一些。 –

+0

是的我同意至少總和(CreditAmount-DebitAmount)這也是我需要LINQ或EF查詢 – Raj

+0

正確 - 你有多遠?您是否已經設置了EF代碼?你能過濾嗎?什麼部分會導致你的問題? –

回答

0

一般情況下,假設C# ,通過轉換LINQ comprehension語法順序中的短語將SQL轉換爲LINQ,並且如果SQL具有表別名,請在LINQ中將它們用作範圍變量。諸如DISTINCTTOP之類的函數在最後的整個查詢中被稱爲函數。在一個查詢做多SUM沒有@JonSkeet暗示優化需要一個空group ... by來創建聚合,然後First()減少到值:

(from je in dbo.JournalEntries 
where je.FKSubscriberID == 3 && je.FKAccountID == 3 
group je by 1 into jeg 
select jeg.Sum(je => je.CreditAmount) - jeg.Sum(je => je.DebitAmount)).First() 

沒有一個組,您可以聚集的區別與

(from je in dbo.JournalEntries 
where je.FKSubscriberID == 3 && je.FKAccountID == 3 
select je.CreditAmount-je.DebitAmount).Sum()