2

我正在尝试返回TrackInformationRecord列表,由以下人员完成:

return _trackInformationRepository
           .Fetch(t => t.TrackPartId == trackPart.Id && t.IsDeleted == false)
           .ToList();

但是,TrackInformationRecord 包含 TrackInformationRecord.Sessions 中的 SessionInformationRecord 列表,我只想使用 IsDeleted == false 进行会话。

我尝试了以下但没有奏效:

return _trackInformationRepository
      .Fetch(t => t.TrackPartId == trackPart.Id && t.IsDeleted == false 
         && t.Sessions.Where(s => s.IsDeleted == false))
      .ToList();

任何建议将不胜感激。

4

1 回答 1

2

如果你想确保所有 Session 的对象 IsDeleted 应该是假的,你想要All

return _trackInformationRepository
      .Fetch(t => t.TrackPartId == trackPart.Id && !t.IsDeleted
                   && t.Sessions.All(s => !s.IsDeleted)).ToList();

但是,如果您希望任何 Session 的对象 IsDeleted 为假,您需要Any-

return _trackInformationRepository
      .Fetch(t => t.TrackPartId == trackPart.Id && !t.IsDeleted
                   && t.Sessions.Any(s => !s.IsDeleted)).ToList();

在旁注中t.IsDeleted == false,您可以将其写为,而不是写作!t.IsDeleted

于 2013-08-14T18:39:33.433 回答