在Linq中使用distinct后选择一些字段

时间:2014-05-25 21:03:02

标签: c# linq distinct

我想在linq中使用distinct。在我使用distinct之后我不选择任何字段。是否有可能在不同之后进行选择。

  query.select(x=>x.FirmName).Distinct().Select(x => new InvoiceSumReportrModel { Firma = x.FirmName, Id = x.Id,Country=x.Country }).AsQueryable();

1 个答案:

答案 0 :(得分:2)

您可以使用Distinct为每个FirmName创建一个组,而不是使用GroupBy,然后从每个组中抓取第一个公司并将其投影到InvoiceSumReportModel ... < / p>

query.GroupBy(x => x.FirmName,
              (k, g) => g.Select(
                x => new InvoiceSumReportrModel 
                { 
                    Firma = x.FirmName, 
                    Id = x.Id,
                    Country = x.Country 
                })
                .First());