将查询从sql转换为linq c#

时间:2013-01-07 20:08:30

标签: linq

select top 1 p.packageId, Count(l.Number)
from lines l join packages p 
on l.packageId - p.Id
group by p.Id
order by Count(l.number) desc

您好。我需要使用C#将此SQL查询转换为LINQ。我正在使用实体框架。每行都可以在一个包中,我需要包含最多数字的包; number在行表中。有帮助吗?谢谢!

1 个答案:

答案 0 :(得分:1)

缺少任何信息我只会假设您有一个直接的对象模型,例如使用实体框架假设context是您的对象上下文..

var result = context.Packages
                    .OrderBy(package => package.Lines.Count())
                    .FirstOrDefault();

这应该返回包含最多行的包或null如果没有包。如果有多个包含相同行数的包,则结果可能不确定。