0

有人可以帮我将以下 t-sql 转换为 c# linq 吗?

select
    clientid,
    orderId 
from 
(
    select
        row_number() over (partition by clientid order by purchasedate desc) as rownum,
        clientid,
        id as orderId   
    from ordertraining
) as x where rownum = 1
4

1 回答 1

1

您可以使用以下 LINQ 查询获得相同的结果:

from o in Orders
group o by o.clientId into g
select g.OrderByDescending(x => x.purchasedate).FirstOrDefault();

但它不会生成相同的 SQL。它将CROSS APPLY改为使用。

于 2013-09-12T09:07:45.510 回答