2

我有一个 IQueryable 存储库(诚然,这是我第一次尝试这个),但我似乎无法使用它来提取正确的数据Skip(1).Take(1)

这是存储库

    Public Function GetActivity() As IQueryable(Of ActivityLog) Implements IActivityLogRepository.GetActivity
        Dim activity = (From a In dc.ActivityLogs
                        Order By a.ActivityDate Descending
                        Select a).AsQueryable
        Return activity
    End Function

这是服务

    Public Function GetUsersLastActivity(ByVal UserID As Integer) As ActivityLog Implements IActivityLogService.GetUsersLastActivity
        Return _ActivityLogRepository.GetActivity().Where(Function(a) a.UserID = UserID).Skip(1).Take(1)
    End Function

问题是它返回Order By 子句中的FIRST记录,而不是SECOND

谁能告诉我我在这里做错了什么?

4

1 回答 1

2

你确定是吗?为什么不将调用分开并在调试模式下查看结果...

var list = _ActivityLogRepository.GetActivity().Where(Function(a) a.UserID = UserID);
var skipped = list.Skip(1);
var taken = skipped.Take(1);
return taken;
于 2010-07-04T03:18:45.143 回答