Tan*_*uyB 1 .net c# linq .net-core
我有一个基于包含其他列表的列表的结构。我需要根据列表最深部分的属性值来过滤列表。
现在我正在这样做:
queryable = queryable
.Include(x => x.Carriers)
.ThenInclude(c => c.CarrierActions)
.ThenInclude(ca => ca.Action)
.ThenInclude(ac => ac.ActionFacts);
queryable = queryable
.Where(x => x.Carriers.Any(
carriers => carriers.CarrierActions.Any(
carrieractions =>
carrieractions.Action.ActionTypeId ==
ActionTypeEnum.DosemeterCalculateDeepDose)));
Run Code Online (Sandbox Code Playgroud)
我加入所需的表,然后根据顶部列表下方 3 个级别的 ActionTypeId 来过滤它们。
首先,是否可以一步完成此操作(包括使用连接进行过滤),其次,第二部分不起作用,因为我的列表变空,但我确信该类型的操作会获取值。
顺便说一句,使用 .NET Core 2.0.3!
要回答你的第一部分,你可以这样做
queryable = queryable
.Include(x => x.Carriers)
.ThenInclude(c => c.CarrierActions)
.ThenInclude(ca => ca.Action)
.ThenInclude(ac => ac.ActionFacts)
.Where(x => x.Carriers.Any(
carriers => carriers.CarrierActions.Any(
carrieractions =>
carrieractions.Action.ActionTypeId ==
ActionTypeEnum.DosemeterCalculateDeepDose)))
Run Code Online (Sandbox Code Playgroud)
对于你的第二部分,它应该可以工作,请检查你的数据,因为这非常简单
| 归档时间: |
|
| 查看次数: |
2391 次 |
| 最近记录: |