2014-09-27 105 views
-2
SELECT (count(Competency_Id) * 100 /(Select count(Competency_Id) from [dbo].[QLs])) 
      as Percentage ,[dbo].[Competencies].Name as CompetencyName 
FROM [dbo].[QLs] 
INNER JOIN [dbo].[Competencies] 
    ON [dbo].[QLs].Competency_Id= [dbo].[Competencies].Id 
GROUP BY dbo.[QLs].Competency_Id,dbo.[Competencies].Name 

我需要帮助从上面提到的SQL查询创建一个Linq。请协助。谢谢需要帮助来从SQL查询中编写Linq查询

回答

0
 var query = (from u in db.QLs 
        join c in db.Competencies on u.Competency_Id equals c.Id 
        let total = db.QLs.Count() 
        group u by new 
        { 
         Competency_Id = u.Competency_Id, 
         Name = c.Name, 
         total = total 
        } into g 
        select new QLbyCompetencyPieChart 
        { 
         Percentage = (float)(100 * g.Count())/((float)g.Key.total), 
         Competency= g.Key.Name, 
         Color=null 
        }).AsQueryable();