通过 MVC 中的布尔值过滤列表中的字段

Filter Field in List by boolean value in MVC

我在我的视图中帮助过滤了一个 Foreach 循环,我想我会使用该推理现在使用相同的逻辑过滤一个字段。我需要此字段来显示具有 PublicFlag == true 的最后一个 TicketNoteDate。代码可以编译,但是当我尝试 运行 时它崩溃了。这是我试过的代码:

@Html.DisplayFor(modelItem => item.TicketNotes.OrderBy(t => t.TicketNoteDate).Where(t => t.PublicFlag == true).Last().TicketNoteDate)

这是我收到的错误:

An exception of type 'System.InvalidOperationException' occurred in System.Core.dll but was not handled in user code

如果我删除这段代码:

.Where(t => t.PublicFlag == true)

然后它就可以工作了,当然除了过滤掉非 public 注释。

@Html.DisplayFor(modelItem => item.TicketNotes.Where(t => t.PublicFlag == true).OrderByDescending(t => t.TicketNoteDate).First().TicketNoteDate)