row_number中的row_number()

时间:2014-01-03 21:20:01

标签: c# linq linq-to-sql

我的sql代码如下,我正在尝试将其转换为linq。我对如何做row_number()(分区部分)感到困惑。如果我能得到一些指导或帮助,请谢谢。

with summary AS
(select * from
    (select p.loan_guid,
    p.TransactionDate,
    p.balanceoutstanding,
    row_number() over (partition by p.loan_guid
    order By linenumber desc) as rk
    from (select * from transactions1
         where transactiondate <= @EndDate )as p ) 
         as S where S.rk = 1)

1 个答案:

答案 0 :(得分:0)

我无法找到明确的答案,但我的猜测是Linq不支持分析/窗口功能。如果您正在使用Entity Framework,那么您始终可以指定一个类型,执行原始查询,EF将为您映射和跟踪结果。这是一个例子:

using(var ctx = new MyContext){
    var myObjects = ctx.Products.SqlQuery("<Your Query>").ToList();
}

结果将是Product类型的对象列表。

这会在SQL数据库的应用程序中创建一个依赖项,但我希望有一个干净的SQL查询,我可以在以后重构,然后在您的代码中进行一次巨大的Linq查询。