5
가 여기에 해당 쿼리 ExpenditureDetails
ExpenditureDetails (많은 1) ExpenditureAmounts
ExpenditureAmounts제대로 처리 할 수 System.NullReferenceException은
return _projectDetail.ExpenditureDetails
.Where(detail => detail.ProgramFund == _programFund
&& detail.Expenditure.User == _creditCardHolder)
.Sum(detail => detail.ExpenditureAmounts.FirstOrDefault(
amount => amount.isCurrent && !amount.requiresAudit)
.CommittedMonthlyRecord.ProjectedEac);
테이블 구조
ProjectDetails (많은 1) (의 연산 식 1 - 1) CommittedMonthlyRecords
ProjectedEac은 CommittedMonthlyRecords의 십진수 필드입니다.
(AN 드문 경우이기는하지만) 내가 단위 테스트에서 발견 된 문제, 다음 줄은 널 (null)이 될 수 있다고 :
detail.ExpenditureAmounts.FirstOrDefault(
amount => amount.isCurrent && !amount.requiresAudit)
내 원래 쿼리가 중첩 루프, 어디에서 나는 여러 여행을하게 될 것이다되었다 데이터베이스에 내가 반복하고 싶지 않은 것을 여기에 비슷한 질문이있는 것을 보았습니다 만, the solution didn't seem to fit.
아이디어가 있으십니까?
많은 감사드립니다. – taco