【问题标题】:How to convert the SQL query into LINQ?如何将 SQL 查询转换为 LINQ?
【发布时间】:2011-12-08 04:35:01
【问题描述】:

我是 LINQ 的新手。谁能帮我将以下 SQL 查询转换为 LINQ?

SELECT 
   Date,ShiftName,Max(Score) AS Score, 1 AS IsPreferred  
FROM 
   Temp_Nurse_Fill_RequestNumbers 
group by 
   ShiftName,date

【问题讨论】:

    标签: .net vb.net linq


    【解决方案1】:
    from t in Temp_Nurse_Fill_RequestNumbers 
    group by t.ShiftName, t.date
    into g 
    select new 
    {
       Date = g.date,
       Score = (from tt in g select tt.Score).max
       IsPreferred = 1
    };
    

    【讨论】:

    • 嗨 MGA 感谢您的帮助。你能在 vb.net 中给我相同的 linq 查询吗?那么它对我来说非常有用请...
    【解决方案2】:

    嗯,这样的东西怎么样(这是C#,我想转换起来很简单)

    temps
        .GroupBy(x => new {x.ShiftName, x.Date})
        .Select(g => new TempNurseProjection
            {
                Date = g.Key.Date,
                ShiftName = g.Key.ShiftName,
                MaxScore = g.Max(q => q.Score),
                IsPreferred = true
            });
    

    【讨论】:

      【解决方案3】:

      只是为了方便

      tems.
          GroupBy(Function(x) New With { x.ShiftName, x.Date }).
          Select(Function(g) New TempNurseProjection With {
              .Date = g.Key.Date,
              .ShiftName = g.Key.ShiftName,
              .MaxScore = g.Max(Function(q) q.Score),
              .IsPreferred = True
          })
      

      编辑

      抱歉没有注意到最后的投影不是匿名的而是命名类型。

      【讨论】:

        【解决方案4】:

        您可以使用名为 LINQPad 的工具。

        厌倦了使用陈旧的 SQL 进行查询? 好吧,你不必! LINQPad 让您可以使用现代查询语言交互式地查询数据库:LINQ。告别 SQL Management Studio! ... LINQPad 也是学习 LINQ 的好方法:它包含书中的 500 个示例,C# 4.0 in a Nutshell。没有比这更好的方式来体验 LINQ 和函数式编程的酷炫了。

        LINQPad Website

        希望这会有所帮助

        【讨论】:

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