【发布时间】:2018-06-26 12:42:58
【问题描述】:
我有以下 sql select 语句,我正在尝试将其转换为 Linq:
SELECT a.lastname,a.firstname,a.program,a.[start],a.[end],
CASE WHEN a.[end] IS NULL AND a.[start] < c.lastStart THEN 1 ELSE 0 END as error,
CASE WHEN a.[end] IS NULL AND a.[start] = c.lastStart THEN 1 ELSE 0 END as loggedOn
FROM usagelog a
INNER JOIN (SELECT b.username,max(b.[start]) AS lastStart FROM usagelog b GROUP BY b.username) c
ON a.username = c.username
ORDER BY a.lastname, a.firstname,a.program,a.[start]
结果应如下所示:
到目前为止,我得到了以下内容:
var query = (from u in UsageLogs
orderby u.lastname,u.firstname,u.program.u.start
select new
{
lastname = u.lastname,
firstname = u.firstname,
program = u.program,
start = u.start,
end = u.end
})
我不知道如何使用附加的 select 语句和“CASE”语句编写内部联接。
任何帮助将不胜感激。
【问题讨论】:
标签: sql entity-framework linq