C# 用于选择具有第一秩的记录的linq查询

C# 用于选择具有第一秩的记录的linq查询,c#,sql,linq,C#,Sql,Linq,我有一个表,其中有多行具有相同的PayFrequencyId 我的sql查询是对我有效的,确定如下 选择* 从中选择payfrequencyid, 客户名称, payfromdate, paytodate, 支票日期, 等级 结束 按payfrequencyid划分 按payfromdate订购为“RowRank” 从payfrequencycalendar 其中ispaid=0 而companyid=3作为T 其中rowrank=1 但我必须在linq中使用这个 我尝试过这样的东西,但它对我不

我有一个表,其中有多行具有相同的PayFrequencyId

我的sql查询是对我有效的,确定如下

选择* 从中选择payfrequencyid, 客户名称, payfromdate, paytodate, 支票日期, 等级 结束 按payfrequencyid划分 按payfromdate订购为“RowRank” 从payfrequencycalendar 其中ispaid=0 而companyid=3作为T 其中rowrank=1 但我必须在linq中使用这个

我尝试过这样的东西,但它对我不起作用

IList<IPayFrequencyCalendar> objPayFrequencyInfo = 
    objPayFrequencyManager.GetAll()
        .Where(x => 
            x.CompanyId == SessionWrapper.CompanyId 
            && x.IsPaid == false)
        .GroupBy(o => o.PayFrequencyId)
        .OrderBy(x => x.PayFromDate).Take(5).ToList();
试试这个:

IList<IPayFrequencyCalendar> objPayFrequencyInfo =
     objPayFrequencyManager.GetAll()
                           .Where(x => x.CompanyId == SessionWrapper.CompanyId 
                                     && x.IsPaid == false)
                           .GroupBy(o => o.PayFrequencyId)
                           .Select(g => g.OrderBy(t => t.PayFromDate).First())

                           .ToList();

此处缺少一些代码。请选择“新建”。是有意的吗?是的,这就是我正在尝试的。。所以在发布代码的时候,在一些代码之间。