我正在编写一个在查询FirstOrDefault
之后使用的OrderBy
查询,它应该首先检查它是否不为空,然后在其中使用一些数据。有没有比这样写更好的方法:
int count = db.Items.Count(i =>
i.Assignments.OrderByDescending(a =>
a.DateAssigned).FirstOrDefault() != null
&&
i.Assignments.OrderByDescending(a =>
a.DateAssigned).FirstOrDefault().DateReturned == null)
这段代码的作用是有些项目有很多分配,我按日期获取最新的分配,然后检查它是否存在,然后对属性(DateReturned
)运行条件。如您所见,此查询很长,我的大多数查询看起来像这样,我首先检查 null 然后使用它们的属性对其运行第二个查询。有没有更好的方法来做到这一点?