所选字段

时间:2017-05-24 16:08:18

标签: c# linq

什么是SQL的等价物:

SELECT Id, Name, Count(PolicyNumber) ...

在Linq。我想做点什么:

var distinctClients = clientPolicies
                .Select(i => new { i.ClientId, i.Name, i.PolicyNumber.Count() })
                .Distinct()
                .OrderBy(i => i.Name).ToList();

有没有办法在Linq实现这一目标?提前谢谢。

1 个答案:

答案 0 :(得分:3)

var distinctClients = clientPolicies
            .GroupBy(i => new { i.ClientId, i.Name})
            .Select(g => new { ClientId= g.Key.ClientId, Name=g.Key.Name,Count=g.Count()})
            .OrderBy(i => i.Name).ToList();

我没有测试过,但它应该接近......