Question

J'ai une fonction appelée GetUserByOpenId Je ne veux pas être utiliser cette fonction tout

    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

Ce que je veux vraiment être en mesure de faire est d'utiliser ma fonction « GetUsers » (IQueryable) et faire la JOIN dans ma couche de service.

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

Quelqu'un peut-il me dire ce que la méthode ressemblerait à renvoyer les données appropraite en utilisant une fonction similaire

    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
Était-ce utile?

La solution

Hmm, il semble que vous devriez avoir une relation entre FK OpenIDs et les utilisateurs, mais vous n'avez pas. Si vous créez cette relation que vous serez en mesure de traverser facilement par la propriété et ne pas avoir à faire interroger du tout (en plus d'un simple où).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top