类中的属性是IEnumerable <tdto> get TDto.A == a </tdto>

时间:2010-03-22 16:57:39

标签: c# linq

所以我有一个类是这样的

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;}
}

如果我有某种订单的集合,并且可以通过linq访问订单,例如

 myOrderRespository.Where(x=>x.OrderItems)

然后我只能在那里访问getEnumerator,我希望它能够做到像

这样的事情
 myOrderRespository.Where(x=>x.OrderItems.ProductName == "Blah")

这可能吗? 这是一个弥补的场景和它的伪代码我试图简化问题所以它很容易解释(所以如果有一些错误,请原谅我) 干杯

1 个答案:

答案 0 :(得分:3)

你可能正在寻找类似的东西:

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

这将返回所有Order个实例,其中至少有一个OrderItem,其ProductName为“Blah”。