首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LINQ中的Distinct

LINQ中的Distinct
EN

Stack Overflow用户
提问于 2012-02-13 18:06:11
回答 5查看 517关注 0票数 0

我在将此查询转换为LINQ格式时遇到问题:

代码语言:javascript
运行
复制
select Version, count(distinct(idUser)) from HistoUsers
group by Version

到目前为止,我得到的是:

代码语言:javascript
运行
复制
public static List<VersionsUsed> GetNumberOfCompaniesUsingEachVersions2()
{
    var foundUsers = (from hu in sdt.DataContext.HistoUsers

                      group hu by new { hu.Version, hu.IdUser } into g
                      select new VersionsUsed { nameVersion = g.Key.Version, NumberOfCompaniesUsingThisVersion = g.Count((g.Key.IdUser).distinct()) });

    return foundUsers.ToList();
}

看起来我在distinct()上遇到了语法问题,有人能帮我解决这个问题吗?提前感谢

EN

回答 5

Stack Overflow用户

发布于 2012-02-13 18:14:55

代码语言:javascript
运行
复制
from hu in sdt.DataContext.HistoUsers
group hu by new { hu.Version, hu.IdUser } into g
select new VersionsUsed 
 {  
   nameVersion = g.Key.Version, 
   NumberOfCompaniesUsingThisVersion = g.Select(c=>c.IdUser).Distinct().Count() 
 }
票数 0
EN

Stack Overflow用户

发布于 2012-02-13 18:15:16

您可以使用LINQER来实现这一点:它从等价的SQL语句生成LINQ语句。您可以从http://www.sqltolinq.com/downloads下载10天试用版。

票数 0
EN

Stack Overflow用户

发布于 2012-02-13 18:15:27

可能是这样的:

代码语言:javascript
运行
复制
select new VersionsUsed 
        { 
            nameVersion = g.Key.Version, 
            NumberOfCompaniesUsingThisVersion = g.Select(a=>a.IdUser).Distinct().Count()) 
        };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9258632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档