不确定如何过滤这些数据

Not sure how to filter this data

假设我有如下订单 class。

 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();

我该怎么做?

使用Contains方法:

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

你可以试试这个:

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