2014-01-22 63 views
2

嘿,我有一个非常简单的问题: o必须计算特定用户有多少个电子邮件地址。如何将普通的SQL语句转换为LINQ到SQL

我有工作的SQL代码:

SELECT 
    name, email, COUNT(*) 
FROM 
    users 
GROUP BY 
    name, email 
HAVING 
    COUNT(*) > 1 

但我有一些麻烦把它翻译到LINQ到SQL 任何人可以帮助我。你

回答

1
from u in users 
group u by new { 
    u.name, 
    u.email 
} into g 
where g.Count() > 1 
select new { 
    g.Key.Email, 
    g.Key.Nombre, 
    userCount = (Int64?)g.Count() 
} 

也可以使用Linqer更多地了解复杂的LINQ查询

Linqer是一个SQL到LINQ转换工具,它不是免费的,但有一个试用版。

您也可以尝试LINQPad。是一个伟大的工具,标准版是免费的

0

试试这个: -

var _List = entities.Employee_Test.GroupBy(n =>new 
               { 
                n.Employee_Salary, 
                n.Employee_name 
               }) 
        .Select(n => new 
           { 
           Employee_name= n.Key.Employee_name, 
           Employee_Salary = n.Key.Employee_Salary, 
           count= n.Count() 
           }) 
        .Where(n => n.count > 1).ToList();