不确定如何过滤此数据

时间:2015-01-20 22:00:34

标签: c# linq

假设我有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 个答案:

答案 0 :(得分:1)

使用Contains方法:

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

答案 1 :(得分:0)

你可以尝试这个:

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