2015-01-20 46 views
0

假设我有Order类,如下所示。不知道如何过滤这些数据

class Order 
    { 
     public Guid ID { get; set; } 
     public int ProductID { get; set; } 
     public int CategoryID { get; set; } 
    } 

为了得到数据库中的订单列表,并填入本地列表中,该列表声明如下。

List<Order> Orders = new List<Order>(); 

我也有一个只包含Order.ID字段的订单的缓存列表。

List<Guid> CachedOrderIDs; 

现在我想修改以下查询,以包含在CachedOrderIDs中提出的订单。

var o = Orders.Where(m => m.ProductID > 200 && m.CategoryID > 500).ToList(); 

我该怎么做?

+2

谁下来投它,你能不能也让我知道什么是错的,这样我可以从中学到 – 2015-01-20 22:02:35

回答

1

使用Contains方法:

var o = Orders.Where(m => m.ProductID > 200 && 
          m.CategoryID > 500 && 
          CachedOrderIDs.Contains(m.ID)).ToList(); 
0

你可以试试这个:

var o = Orders.Where(m => m.ProductID > 200 && 
          m.CategoryID > 500 && 
          CachedOrderIDs.Contains(m.Guid) 
      ).ToList(); 
+0

能讨好downvoter解释我有什么问题?谢谢 – Christos 2015-01-21 08:17:59