Linq对特定列的不同查询

时间:2012-07-28 14:57:59

标签: c# linq

  

可能重复:
  LINQ select distinct c#

我正在尝试做这样的事情:

List<string> manufacturerFilters = new List<string>(){"Honda", "Ford", "Jaguar", "BMW"};
var products = (from p in context.Products
                where p.DeletedSince.Equals(null)
                && manufacturerFilters.Contains(p.Manufacturer.Name)
                && p.SomeValue == 123).Distinct(**p.Manufacturer**).Take(4);

现在,这给了我一个属于我的过滤器列表中的4个制造商的产品列表。 但我真正想要的是4个产品,每个制造商1个。这就是为什么我把这个区别放在我的查询中,当然这不起作用..

我该如何进行此类不同的查询?

1 个答案:

答案 0 :(得分:0)

.Distinct(**p.Manufacturer.Name**) 
p.Manufacturer是参考类型,因此它们有所不同,因为它们有不同的引用。我希望这会有所帮助。如果您需要.Distinct( p.Manufacturer ),那么您必须指定Comparer。