如何从 IQueryable 匿名类型中删除项目

How to remove items from IQueryable anonymous type

           var flowers = from f in c.Product
                              select new
                              {
                                  f.ProductID,
                                  f.Price,
                                  f.Name,
                                  f.Description
                              };
                List<int> IDsToRemove = new List<int>();

                foreach(var newRow in flowers)
                {
                    if (((List<int>)Session["UsedIDs"]).Contains(newRow.ProductID))
                    {
                        IDsToRemove.Add(newRow.ProductID);
                    }
                }

我已经获得了我想要删除的 ID,其中 usedID 和查询中的 productID 之间存在匹配,所以我将所有匹配的整数放入 IDsToRemove 列表中。现在我不知道该怎么做:

     foreach(var id in IDsToRemove){
         flowers.remove(id) }

     ddlFlowers.DataSource = flowers.ToList();

你可以这样做:

var listInSession = (List<int>)Session["UsedIDs"]);
ddlFlowers.DataSource = flowers.Where(f => !listInSession.Contains(f.ProductID)).ToList();