2009-02-23 7 views
3

J'ai un serveur qui gère l'accès à la base de données et un client qui consomme les informations. La communication du client au serveur s'effectue via un service WCF.Retour des classes de mappage NHibernate à partir des services WCF

Lorsque le NHOCernate POCO est renvoyé par le service, tous les objets du graphe d'objet sont-ils sérialisés? Si oui, y a-t-il un moyen de le changer?

Je pense également ne pas retourner le NHocernate POCO et retourner à la place un objet avec seulement les informations essentielles.

Que faites-vous dans ces cas?

Répondre

6

Utilisez des objets de transfert de données pour déplacer les données du serveur vers le client. Les objets de votre entreprise (modèle de domaine) ne doivent pas nécessairement être exposés en dehors du cœur de l'application, mais doivent être considérés comme des ressources protégées.

Vous pouvez utiliser AutoMapper pour automatiser la traduction d'objets métier en objets de transfert de données.

+0

Je n'avais pas entendu si cela avant. On dirait exactement ce dont j'ai besoin. merci – Megacan

+0

Eh bien, c'est nouveau et encore en développement. À votre santé! – yfeldblum

0

Oui, vous voulez probablement un DTO pour cela. Il est généralement préférable de ne pas transmettre vos objets de données au monde extérieur, mais le fait de passer directement des objets hibernate hors d'un service peut vous donner un comportement étrange, surtout si vous avez des collections chargées paresseusement.

Questions connexes