我有一个称为的函数 GetUserByOpenId 我根本不想使用此功能

    Public Function GetUserByOpenID(ByVal claimedidentifier As String) As User Implements IUserRepository.GetUserByOpenID
        Dim user = (From u In dc.Users
                    Join o In dc.OpenIDs On u.ID Equals o.UserID
                    Where o.ClaimedIdentifier = claimedidentifier
                    Select u).FirstOrDefault
        Return user
    End Function

我真正想做的就是使用“ getusers”功能(可音机)并在我的服务层中加入。

    Public Function GetUsers() As IQueryable(Of User) Implements IUserRepository.GetUsers
        Dim users = (From u In dc.Users
                    Select u)
        Return users.AsQueryable
    End Function

有人可以告诉我,使用与此相似的功能,该方法看起来如何返回适当数据

    Public Function GetAllUsers() As System.Collections.Generic.IList(Of User) Implements IUserService.GetAllUsers
        Return _UserRepository.GetUsers().Where(Function(u) (Not u.isClosed)).ToList
    End Function
有帮助吗?

解决方案

嗯,似乎您应该在OpenID和用户之间有FK关系,但您没有。如果创建此关系,您将能够通过属性轻松地穿越它,而不必进行查询(除了简单的地方)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top