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

本文关键字:选择 字段 distinct Linq | 更新日期: 2023-09-27 18:05:19

我想在linq中使用distinct。在我使用distinct之后,我不选择任何字段。

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

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

代替使用Distinct,您可以使用GroupBy为每个FirmName创建一个组,然后从每个组中抓取第一个公司并将其投影到InvoiceSumReportModel

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