У меня снова возникают проблемы с некоторыми Linq, когда я пытаюсь ограничить возвращение информации, но все еще сохраняю объекты в форме иерархии (основанной на xml, из которого она поступает, и что нужно сделать в пользовательском интерфейсе) основной формат таков:
- Одноместный номер
- Номер Твин
но то, что я хочу, основано на идентификаторе комнаты (1,2,3,4 и т. Д.), Возвращает тип комнаты и определенную иерархию комнаты, т. Е. (Если передан идентификатор 4).
- Номер Твин
Я создал какой-то LINQ, который, как мне показалось, работал, но я ошибся, так как он просто возвращает первый тип комнаты (Single Room) и только комнату, если соответствует if (которую я посылаю id 3 и 4, но это не так) и смотрю в этом я полностью понимаю это.
В приведенном ниже коде элементы получены из другого метода, который в основном выводит в приведенном выше примере иерархии:
var item = items.Select(i =>
new RoomType
{
name = i.name,
rooms = i.rooms
.Where(r => r.Name == id.ToString())
}).FirstOrDefault();
Что мне нужно сделать, это вернуть только тот тип комнаты, в которой есть комната в коллекции комнат с правильным идентификатором, который я передаю в мой метод, я не уверен, что приведенный выше код является началом, я попытался испортить вокруг с Contains и т. д., но я ищу идентификатор, когда Contains ожидает объект, поэтому я не уверен, какой здесь лучший подход, и я застрял.
Любая помощь будет отличной.
Rob