J'utilise deux référentiels dans mon service CommentService.Modèle de référentiel - Joindre des données provenant de deux tables
_commentRepository
_userRepository
Utilisation de la fonction _commentRepository.GetAll() Je reçois une liste de tous mes commentaires avec les informations suivantes: [Id], [Contenu], [ID utilisateur].
J'essaye de créer une liste avec tous les commentaires et certaines des informations d'utilisateur correspondantes pouvant être obtenues par _userRepository et les stocker dans un DTO.
public ListOutput<CommentUserDto> GetCommentsWithUserInformation()
{
var comments = _commentRepository.GetAll();
// TODO: Add comment and user information to CommentUserDto.
return new ListOutput<CommentUserDto>
{
Items = Mapper.Map<List<CommentUserDto>>(comments)
};
}
Comment est-ce que je peux faire ce travail?
Quelques idées possibles que je trouve:
- Création d'un _commentUserRepository
- En utilisant notamment de se joindre en quelque sorte les deux tables (j'utilise EF)
- Créez un gestionnaire dans ma couche de domaine qui prend soin de combiner la logique.
EDIT:
modèle Commentaire:
public class Comment
{
public virtual string Content { get; set; }
public virtual DateTime CreationTime { get; set; }
public virtual long UserId { get; set; } // Id of User that posted Comment (always filled in)
}
modèle utilisateur:
public class User {
public virtual string Name { get; set; }
public virtual string Surname { get; set; }
public virtual string Email { get; set; }
public virtual string Password { get; set; }
}
CommentUserDto: // Classe Accessible aux vues
public class CommentUserDto {
public string Content { get; set; } // from comment
public DateTime CreationTime { get; set; } // from comment
public string PosterName { get; set; } // from user
public string PosterSurname { get; set; } // from user
}
Utilisez-vous entityframework? – freshbm
Personnellement, j'aime avoir un référentiel pour chaque commentaire et utilisateur, puis au-dessus des dépôts, j'ai mes classes de service, qui me donnent l'objet combiné de ces deux dépôts. Si vous vous souciez d'utiliser Entity Framework, Inclure est également une option – Yogi
Oui je suis (clarifierai en question). – Sam