我在编写LINQ语句时遇到了麻烦,该语句在where子句中使用了条件操作数,并且没有任何运气查看了相同的问题。我相信有更好的方式来表达这个查询。该值内的值为XXX
是确定对象中哪个字段用于比较的结果,并在下面进行解释。在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
值registerEntry.AddedDate
和registerEntry.PostDate
是DateTime类型,但是日期而不是时间
有没有人有任何想法如何做到这一点?
MSDN有很多很好的样本:https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b – jdweng
您的意思是使用赋值而不是平等吗? '如果registerEntry.AddedDate = registerEntry.PostDate'不等于'如果registerEntry.AddedDate == registerEntry.PostDate'(注意双等号) –