小编Ill*_*ion的帖子

c#Linq选择加入选择组

我有这个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)

c# linq select group-by inner-join

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

group-by ×1

inner-join ×1

linq ×1

select ×1