Frage

Ich habe eine Funktion namens GetUserByOpenId Ich will nicht bei allen

Mit dieser Funktion werden
    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

Was will ich wirklich in der Lage sein, verwendet man tun, um meine „GetUsers“ -Funktion (IQueryable) und tut das JOIN in meiner Dienstschicht.

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

Kann jemand mir sagen, was das Verfahren aussehen würde die appropraite Daten unter Verwendung einer ähnlichen Funktion zu diesem

zurück
    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
War es hilfreich?

Lösung

Hmm es scheint, als ob Sie eine FK Beziehung zwischen OpenID und Benutzer haben sollte, aber sie tun es nicht. Wenn Sie diese Beziehung erstellen können Sie diese leicht über Eigentum zu durchqueren und nicht tun müssen, um überhaupt die Abfrage (außer einem einfachen Wo).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top