where 절 내에 조건부 피연산자를 사용하는 LINQ 문을 작성하는 데 문제가있어이 사이트를 통해 비슷한 문제가 있는지 확인했습니다. 이 쿼리를 표현하는 더 좋은 방법이있을 것이라고 확신합니다. 값이 XXX
은 비교할 개체의 필드를 결정한 결과이며 아래에서 설명합니다. 나는 단지를 비교해야 비교할 때 그러나, registerEntry.AddedDate
및 registerEntry.PostDate
날짜 시간 유형WHERE 절의 조건부 피연산자를 사용하여 LINQ 쿼리를 수행해야합니다.
var paymentReceivedAmt = (from registerEntry in RegisterEntries
where registerEntry.TransactionType != null
&& registerEntry.TransactionType.Id.SubsystemCode == "A"
&& registerEntry.Receipt != null
&& registerEntry.PostDate != null
&& XXX >= lastInvoicedDate
select registerEntry.TransactionAmount.GetValueOrDefault(0)).Sum();
값 XXX =
if registerEntry.AddedDate = registerEntry.PostDate
registerEntry.AddedDate
else
registerEntry.PostDate
값을 : 아래
내가 달성하기 위해 노력하고 무엇인가 날짜가 아닌 날짜누구든지이 작업을 수행하는 방법에 대해 알고 있습니까?
MSDN 좋은 샘플을 많이 가지고 모든 것을 단순화 할 수 있습니다 https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b를 – jdweng
평등 대신 과제를 사용 하시겠습니까? 'if registerEntry.AddedDate = registerEntry.PostDate'는'if registerEntry.AddedDate == registerEntry.PostDate'와 같지 않습니다 (이중 등호에주의하십시오) –