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

問題は、 SECONDではなく Order By 句でFIRSTレコードを返すことです。

ここで私が間違っていることを誰かに教えてもらえますか?

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 に答える