我是LINQ的新手。任何人都可以帮我转换下面的SQL查询到LINQ?
SELECT
Date,ShiftName,Max(Score) AS Score, 1 AS IsPreferred
FROM
Temp_Nurse_Fill_RequestNumbers
group by
ShiftName,date
答案 0 :(得分: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
};
答案 1 :(得分:1)
嗯,这样的事情怎么样(这是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
});
答案 2 :(得分:1)
为方便起见
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
})
修改
很抱歉没有注意到最终投影不是匿名的,而是命名类型。
答案 3 :(得分:0)
您可以使用名为LINQPad的工具。
厌倦了查询过时的SQL? 好吧,你没必要! LINQPad允许您以现代查询语言交互式查询数据库:LINQ。与SQL Management Studio亲吻再见! ...... LINQPad也是学习LINQ的好方法:它载有本书中的500个例子,一个Nutshell中的C#4.0。没有更好的方式来体验LINQ和函数式编程的酷感。
希望这会有所帮助