Свойство в классе IEnumerable <TDto> get TDto.A == a

Итак, у меня есть класс, похожий на этот

public class Order
{
 //some other stuff ... 
 //setting the internal _orderItems collection ...
 IEnumerable<orderitems> OrderItems { get { return _orderItems; }
}
public class OrderItem
{
 //other stuff
 public string ProductName {get; set;}
}
</orderitems>

Если у меня есть набор заказов определенного типа и у меня есть доступ через linq к порядку, что-то вроде

myOrderRespository.Where(x=>x.OrderItems)

Тогда у меня есть доступ к getEnumerator, waht, я бы хотел, чтобы он мог сделать что-то вроде

myOrderRespository.Where(x=>x.OrderItems.ProductName == "Blah")

Возможно ли это? это составленный сценарий и его псевдо-код, который я пытаюсь упростить, поэтому его легко объяснить (поэтому, пожалуйста, простите меня, если есть несколько ошибок) Приветствия

1 ответ

Вероятно, вы ищете что-то вроде:

var results = myOrderRepository.Where(x => x.OrderItems.Any(item => item.ProductName == "Blah"));

Это вернет все экземпляры Order с хотя бы одним OrderItem, который имеет ProductName из "Бла".

licensed under cc by-sa 3.0 with attribution.