Pregunta

Tengo una función llamada GetUserByOpenId no quiero estar usando esta función en absoluto

    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

Lo que realmente quiero ser capaz de hacer es usar mi función "GetUsers" (IQueryable) y hacer la unión en mi capa de servicio.

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

¿Alguien puede decirme lo que el método se vería como para devolver los datos más apropiada utilizando una función similar a este

    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
¿Fue útil?

Solución

Hmm parece que usted debe tener una relación entre FK OpenID y Usuarios, pero que no lo hacen. Si crea esta relación va a ser capaz de atravesar fácilmente a través de la propiedad y no tiene que hacer la consulta en absoluto (además de un simple caso).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top