我想確定哪些發票仍有餘額。我將通過實體框架通過發票並嘗試計算哪些小計的金額大於應用的付款金額。LINQ混亂與總結和比較
我寫了下面的5測試用例
var test1 = _invoiceRepository.Where(x => x.Subtotal > 0);
var test2 = _invoiceRepository.Where(x => x.Payments.Sum(y => y.Amount) > 0);
var test3 = _invoiceRepository.Where(x => x.Payments.Sum(y => y.Amount) < 60);
var test4 = _invoiceRepository.Where(x => x.Payments.Sum(y => y.Amount) < x.Subtotal);
var test6 = _invoiceRepository.Where(x => x.Payments.Sum(y => y.Amount) == x.Subtotal);
var test7 = _invoiceRepository.Where(x => x.Payments.Sum(y => y.Amount) != x.Subtotal);
結果返回這個數字發票
test1: 392
test2: 216
test3: 126
test4: 0
test6: 215
test7: 177
測試1說,我有發票,有大於0
分類彙總測試2 & 3表示我已將付款應用於發票,並且我可以正確地將它們相加。
測試4是我困惑的地方。我無法獲得任何記錄,將表中的總和與小數進行比較。我試過各種各樣的括號,但無濟於事。
測試6 & 7被建議和那些工作,但如果付款少於總和呢?或更大(發生了什麼)?
如何修改我的LINQ以返回有餘額的發票?
在此先感謝!
你確定'_invoiceRepository'記錄有餘額嗎? – dasblinkenlight
test1確認392個發票中有392個具有小計。 –