WpfApp2/orm/UserService.vb

(完整代码) 1KB

Public Class UserService
    Implements IUserService

    Public Async Function AddAsync(user As User) As Task(Of Integer) Implements IUserService.AddAsync
        Using db = New MyDbContext()
            Await db.Set(Of User).AddAsync(user)
            Dim r = Await db.SaveChangesAsync()
            Return r
        End Using
    End Function

    Public Async Function RemoveAsync(id As Long) As Task(Of Integer) Implements IUserService.RemoveAsync
        Using db = New MyDbContext()
            Dim user = Await db.Set(Of User).FindAsync(id)
            If user Is Nothing Then
                Return 0
            Else
                db.Set(Of User).Remove(user)
                Dim r = Await db.SaveChangesAsync()
                Return r
            End If
        End Using
    End Function

    Public Async Function UpdateAsync(user As User) As Task(Of Integer) Implements IUserService.UpdateAsync
        Using db = New MyDbContext()
            db.Set(Of User).Update(user)
            Dim r = Await db.SaveChangesAsync()
            Return r
        End Using
    End Function

    Public Async Function GetUsersAsync(starPage As Integer, pageSize As Integer) As Task(Of UserQueryResult) Implements IUserService.GetUsersAsync
        Using db = New MyDbContext()
            Dim count = Await db.Set(Of User).CountAsync()
            Dim remainder = 0
            Dim pages = Math.DivRem(count, pageSize, remainder)
            If remainder > 0 Then pages += 1
            If starPage > pages Then
                starPage = pages
            ElseIf starPage < 1 Then
                starPage = 1
            End If
            Dim users = Await db.Set(Of User).OrderByDescending(Function(x) x.Id).Skip((starPage - 1) * pageSize).Take(pageSize).ToArrayAsync()
            Dim res = New UserQueryResult(users, pages, starPage, count)
            Return res
        End Using
    End Function
End Class

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。