gpt4 book ai didi

c# - 在 LINQ 中获取子实体满足特定条件的项目

转载 作者:太空宇宙 更新时间:2023-11-03 10:59:24 24 4
gpt4 key购买 nike

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

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

但是,TrackInformationRecord 包含 TrackInformationRecord.Sessions 中的 SessionInformationRecord 列表,我只想获取 IsDeleted == false 的 Sessions。

我尝试了以下方法,但没有用:

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

如有任何建议,我们将不胜感激。

最佳答案

如果要确保所有 Session 的对象 IsDeleted 都应该为 false,则需要 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 这样写,而不是写 t.IsDeleted == false

关于c# - 在 LINQ 中获取子实体满足特定条件的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18239548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com