可能重复:
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个。这就是为什么我把这个区别放在我的查询中,当然这不起作用..
我该如何进行此类不同的查询?
答案 0 :(得分:0)
.Distinct(**p.Manufacturer.Name**)
p.Manufacturer是参考类型,因此它们有所不同,因为它们有不同的引用。我希望这会有所帮助。如果您需要.Distinct( p.Manufacturer ),那么您必须指定Comparer。