如何将此SQL查询转换为LINQ-to-SQL?

时间:2010-10-05 11:54:17

标签: sql-server-2005 linq-to-sql

如何将此SQL查询转换为LINQ-to-SQL?:

select 
    COUNT(ua.UserAlertID) as Alerts, 
    ph.LastName +' '+ ph.MiddleName as Name,
    ph.Email,us.UserSystemID,
    ur.UserStatus from PHUser ph 
inner join UserSystem us on us.UserID=ph.UserID
inner join UserRole  ur on ur.UserID=ph.UserID
inner join Role rr on rr.RoleID=ur.RoleID
inner join UserAlerts ua on ua.SeniorID=ph.UserID
group by ph.LastName,ph.MiddleName,ph.Email,us.UserSystemID,ur.UserStatus 

我已将上述大部分查询转换为LINQ,但我仍然无法计算ua.UserAlertID列上的值数:COUNT(ua.UserAlertID) as Alerts

如何将其转换为LINQ?

请建议如何将COUNT(ua.UserAlertID)转换为Linq中的警报??

由于

2 个答案:

答案 0 :(得分:0)

我可以看到你转换的LinQ吗?

如果你的查询没问题,你会得到像

这样的行

group s by new {ua.UserAlertId,...,...}进入临时。

我记得在选择新的{}部分使用

select new 
{
Total Alerts = temp.Key.UserAlertdId.Count(), ...,...,...,...
}

你可以试试这个通知我吗?

答案 1 :(得分:-2)

许多人都可以帮助您解决此问题。这很简单。有一种产品(非常便宜)可以帮助您处理这些事情。该产品是Li​​nqer(http://www.sqltolinq.com/)。该工具将大多数SQL语句转换为Linq。有30天的试用期,我认为费用是< $ 40我已经多次使用它来快速将SQL查询转换为Linq。

然后我可能会建议您购买一款名为LinqPad的免费产品。这将允许您在将Linq查询粘贴到生产代码之前对其进行原型设计。这是一个非凡的工具。