Я считаю, что я правильно перевел этот SQL, но я могу внести изменения, если это необходимо. Это выбирает один NodePath
для каждого общего Path
(на основе наибольшего Created
), при условии, что он соответствует NodeId
.
C # Решение:
var nodePaths = (from p in context.NodePaths
group p by p.Path into g
select g.OrderByDescending(i => i.Created).First()
).Where(p => p.NodeId == givenNodeId);
VB.NET Solution (я думаю, не мой основной язык):
Dim nodePaths = (From p In context.NodePaths _
Group p By p.Path Into Group _
Select Group.OrderByDescending(Function(i) i.Created).First() _
).Where(Function(p) p.NodeId = givenNodeId)