按实体框架顺序划分的ROW_NUMBER

时间:2017-05-11 04:58:28

标签: sql sql-server entity-framework window-functions

我已经填充了表格,我已经使用ROW_NUMBER提出了SQL脚本来获取我想要的结果集。问题是如何将脚本转换为EF语句。

Schema and Values

Desired Result Set

1 个答案:

答案 0 :(得分:2)

from room in context.Rooms
let firstGuest = room.Guests
                     .OrderBy(x => x.CheckInDate)
                     .FirstOrDefault()
select new 
{ 
    RoomName = room.Name, 
    GuestName = firstGuest.GuestName,
    CheckInDate = firstGuest.CheckInDate
};

实体框架不支持PARTITION BY,而是最有可能使用CROSS APPLY生成查询。