到达集合,它的每个项目都是一个集合

本文关键字:集合 一个 项目 | 更新日期: 2023-09-27 18:22:07

我在EF中有RoomBed类,每个类Room都有一些Bed。我有从 EF context 检索到的Room Collection;I使用此代码访问Room 秒 (myRooms Collection中的所有Bed s:

IEnumerable<Room> myRooms=...
IEnumerable<Bed> bedsInMyRoom=context.Beds.AsEnumerable();
foreach (IEnumerable<Bed> beds in myRooms.Beds)
     {
       if(beds!=null && beds.Any())
          bedsInMyRoom=bedsInMyRoom.Concat(beds);
     }

有没有更好的性能方法来做到这一点?

到达集合,它的每个项目都是一个集合

我怀疑你只是想要:

var beds = rooms.SelectMany(room => room.Beds);

(这是假设Room中有一个Beds属性。您没有在原始代码片段中使用它。

如果房间没有床位详细信息,您可能需要其他 - 请告诉我们