过滤强类型结果

本文关键字:结果 强类型 过滤 | 更新日期: 2023-09-27 18:04:04

我有一个父实体集合,每个父实体 p 包含子实体C

我想要一个过滤的强类型集合/列表,所有父实体的任何子实体的名字都是'peter'

请注意,我需要强类型列表的结果。

List<P> parents = (List<P>)db.Ps.Select(a => a.Cs.Any(b => b.Name == "Peter")).ToList();

这段代码返回的是IEnumerable,这不是我需要的。注意:这个场景和代码只是一个用于学习的示例

过滤强类型结果

因为您想要父实体的过滤列表,您需要使用Where而不是Select。这应该是你想要的:

var res = db.Ps.Where(a => a.CS.Name == "Peter").ToList();

或者如果你有1-many:

var res = db.Ps.Where(a => a.CS.Any(b => b.Name == "Peter")).ToList();

哪个res是你的Ps类的列表