首页 > 解决方案 > how to write distinct count query in Linq

问题描述

suppose i have a following query in Sql

select UserID,count(distinct ip) as NumberOfIPUsed from  UserLogs 
group by UserID

i want this to write with Linq

标签: entity-frameworklinqsql-to-linq-conversion

解决方案


好吧,首先你要分组UserID

UserLogs.GroupBy(ul => ul.UserID)

然后你想得到用户ID和与之不同的计数ip

UserLogs.GroupBy(ul => ul.UserID).Select(g => new {UserID = g.Key, Count = g.Select(ul => ul.ip).Distinct().Count()})

推荐阅读