【问题标题】:Please help me out in converting the below sql query to lambda Expression请帮助我将以下 sql 查询转换为 lambda 表达式
【发布时间】:2015-12-29 09:59:31
【问题描述】:

SQL语句:

SELECT 
R1.RSLTS_CONFIG_AGE_ID
, SUM(R1.PROV_AGE_GNDR_CNT) AS Prov_FeMaleCount
, SUM( R2.PROV_AGE_GNDR_CNT) AS Prov_Male_Count 
FROM RESULTS_AGE_GENDER R1 
INNER JOIN RESULTS_AGE_GENDER R2 ON R1.RSLTS_CONFIG_AGE_ID=R2.RSLTS_CONFIG_AGE_ID
WHERE  R1.RSLTS_CONFIG_GNDR_ID=13  
AND R2.RSLTS_CONFIG_GNDR_ID=14 
GROUP BY R1.RSLTS_CONFIG_AGE_ID

【问题讨论】:

  • 如果您需要一名开发人员来完成工作,请雇用一名。如果您需要帮助来完成您的工作,请付出一些努力。

标签: sql linq lambda expression


【解决方案1】:

在 Linq 扩展方法语法中完全相同的查询。

var res = context.RESULTS_AGE_GENDER
   .Join(context.RESULTS_AGE_GENDER
      , r1 => r1.RSLTS_CONFIG_AGE_ID
      , r2 => r2.RSLTS_CONFIG_AGE_ID
      (r1, r2) => r1r2)
   .Where(x => x.r1.RSLTS_CONFIG_GNDR_ID == 13
      && x.r1.RSLTS_CONFIG_GNDR_ID == 14)
   .GroupBy(x => x.r1.RSLTS_CONFIG_AGE_ID)
   .Select(x => new 
   {
      RSLTS_CONFIG_AGE_ID = x.Key,
      Prov_FeMaleCount = x.Sum(y => y.r1.PROV_AGE_GNDR_CNT),
      Prov_Male_Count = x.Sum(y => y.r2.PROV_AGE_GNDR_CNT)
   });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多