【发布时间】: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
【问题讨论】:
我是 LINQ 的新手。谁能帮我将以下 SQL 查询转换为 LINQ?
SELECT
Date,ShiftName,Max(Score) AS Score, 1 AS IsPreferred
FROM
Temp_Nurse_Fill_RequestNumbers
group by
ShiftName,date
【问题讨论】:
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
};
【讨论】:
嗯,这样的东西怎么样(这是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
});
【讨论】:
只是为了方便
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
})
编辑
抱歉没有注意到最后的投影不是匿名的而是命名类型。
【讨论】:
您可以使用名为 LINQPad 的工具。
厌倦了使用陈旧的 SQL 进行查询? 好吧,你不必! LINQPad 让您可以使用现代查询语言交互式地查询数据库:LINQ。告别 SQL Management Studio! ... LINQPad 也是学习 LINQ 的好方法:它包含书中的 500 个示例,C# 4.0 in a Nutshell。没有比这更好的方式来体验 LINQ 和函数式编程的酷炫了。
希望这会有所帮助
【讨论】: