【发布时间】:2013-03-25 10:20:54
【问题描述】:
我有一个有效的 sql 语句,并希望它作为 linq 语句或 linq 方法链。
我的声明是:
SELECT T1.*
FROM (SELECT Col1, MAX(InsertDate) as Data
FROM Zugbewegungsdaten
GROUP BY Loknummer) as temp JOIN T1
ON (T1.Col1= temp.Col1
AND Zugbewegungsdaten.InsertDate= temp.Date)
WHERE Col3=1
ORDER BY Loknummer
谁能帮我翻译一下?
评论后编辑:
好的,我的内部选择结果:
var maxResult = (from data in context.T1
group data by data.Col1
into groups
select new
{
Train = groups.Key,
InsertDate= groups.Max( arg => arg.InsertDate)
}) ;
我尝试了这样的连接:
var joinedResult = from data in context.T1
join gdata in maxResult on new
{
data.Col1,
data.InsertDate
}
equals new
{
gdata.Col1,
gdata.InsertDate
}
select data;
但是我得到一个类型参数无效的连接的编译器错误。
如果连接有效,我应该使用 where 来过滤joinedResult。
var result = from data in joinedResult
where data.Col3 == true
select data;
【问题讨论】:
-
如果您自己先尝试一些东西,将它展示给我们并告诉我们它有什么问题,那就更好了。这样,您将能够从我们的答案中学习。如果我们只是为您提供解决方案,那么您下次必须翻译 SQL 查询时必须回来。 -1 表示没有显示任何努力。
-
感谢您的评论,我添加了我的 wip 代码。