从 collection 中获取包含特定 object 的 collection

Get collection containing a specific object out of a collection

我不得不承认标题有点令人困惑。

我有一个 collection,其中包含一个 collection,其中包含一些属性。

示例:

public class LocationalLink {
    public Model.Location Location { get; private set; }
    public ObservableCollection<Converter.Link.RoomLockerLink> RoomCollection { get; private set; }
}

public class RoomLockerLink {
    public Model.Room Room { get; private set; }
    public ObservableCollection<Model.Locker> LockerCollection { get; private set; }
}

在我的主应用程序中,我有一个 collection LocationalLink。

获取 collection 包含特定的 object 我们的 collection 现在我想要获取那些包含特定房间的 RoomCollections。

我认为这可能是这样的:

RoomCollection = LocationalLinkList.Where(o => o.RoomCollection.Where(i => i.Room == obj));

我知道这不起作用,因为 Where-clause 的第二个参数必须是布尔表达式。谁能给我一个提示?

将第二个 Where 方法更改为 Any

RoomCollection = LocationalLinkList.Where(o => o.RoomCollection.Any(i => i.Room == obj));