我有这个MS-SQL语句:
SELECT cv.id FROM ContactValue cv
INNER JOIN (
SELECT mainId, max(version) as v
FROM ContactValue
WHERE version <= $Version(int)
GROUP BY mainId
)
AS t ON t.mainId = cv.mainId AND t.v = cv.version
WHERE cv.contact_id = $ContactID(int)
AND cv.isActive = 1
ORDER BY sort'
Run Code Online (Sandbox Code Playgroud)
并希望在linq中实现.我确实将上面的查询分成了多个查询,表现并不快.linq加入是否存在任何linq?
我的C#代码:
var groupMax = from cv in db.ContactValue
where cv.contact_id == ContactID && cv.version <= Version
orderby cv.sort
group cv by cv.mainId into gcv
select new { mainID = gcv.Key, version = gcv.Max(cv => …Run Code Online (Sandbox Code Playgroud)