У меня есть две модели, одна - это предмет, а другая - список этих предметов. Использование LINQ
. Служба возвращает все элементы, я хотел бы использовать второй метод для дальнейшей фильтрации этих элементов на основе их идентификатора.
public class MyItem {
public string Id;
public string Description;
}
public class MyItems {
public List<MyItem> ItemsList
}
public MyItems GetAllItems()
{
return someServiceThatReturnsMyItems()
}
public MyItems GetItemsById(string[] itemIds)
{
return GetAllItems().ItemsList.Where(x => itemIds.Contains(x .Id)).ToList();
}
Я бы хотел, чтобы getItemsById
возвратил отфильтрованную коллекцию MyItems
. Я попытался выбрать в новый список, однако типы никогда не совпадают, у меня всегда возвращается один MyItem.
Я могу сделать что-то вроде этого:
return new MyItems()
{
ItemsList = GetAllItems().ItemsList.Where(x => insuredIds.Contains(x.Id)).ToList()
};
Можно ли сделать это в одной строке LINQ или у меня есть это право?
Спасибо.