1

我有一个带有 CustomerID 和 ProductCode 的简单表。使用以下 Linq 查询,我得到了所有购买了 10EDUC12CONV 而没有购买 10CONV 和 11CONV 的 ID 的列表。我需要做的是让它返回那些购买了 10EDUC12CONV 而没有购买 10CONV 和 11CONV 的人的 ID。

有什么想法吗?TIA

var IncludePredicate = PredicateBuilder.True<Products>(); 
var ExcludePredicate = PredicateBuilder.True<Products>(); 
List<string> IncludeProducts = new List<string>();
List<string> ExcludeProducts = new List<string>();
ExcludeProducts.Add("10CONV");
ExcludeProducts.Add("11CONV");


IncludeProducts.Add("10EDUC");
IncludeProducts.Add("12CONV");
IncludePredicate = IncludePredicate.And(m=>IncludeProducts.Contains(m.Service));
ExcludePredicate = ExcludePredicate.And(m => ExcludeProducts.Contains(m.Service));
var IncludeResults = (from d in Products
                          .AsExpandable()
                          .Where(IncludePredicate)
                          .Distinct()
                              select d.CustomerID
                              )
                              .Except(from ex in Services
                                          .Where(ExcludePredicate)
                                          select ex.CustomerID);
4

0 回答 0