Question

J'ai récemment travaillé sur plusieurs projets distribués client / serveur, et l'un des problèmes auxquels nous sommes toujours confrontés est la traduction des objets DTO dans nos entités et inversement. Je me demandais si quelqu'un avait un "simple" solution à ce temps couler?

Une des choses à laquelle je pensais était de trouver une sorte de traduction utilisant la réflexion ... Je suppose que vous devez vous assurer que vos noms de propriété sont exactement les mêmes de chaque côté du fil - mais il semble que cela pourrait fonctionner .

Je cherche simplement un moyen d'éviter que mon développement ne prenne une partie de ce temps.

Merci !!

Était-ce utile?

La solution

J'utilise AutoMapper , et cela fonctionne à merveille.

Autres conseils

Douleur et risque

d'obtenir / définir les propriétés à la main! Avez-vous déjà essayé ceci: http://dozer.sourceforge.net/ .

Un cadre flexible et configurable pour la traduction de bean en bean. Pourrait aider!

J'ai eu du succès avec des outils tels que XDoclet (bien que cela ne devrait pas être trop difficile à créer avec un script) pour générer automatiquement des objets de transfert et des traductions d'entités simples.

Cela dit, si vous pensez que vos traductions d'entité sont suffisamment simples pour être effectuées à l'aide de la réflexion, existe-t-il une raison pour laquelle vous ne pouvez pas simplement passer les objets Entité sur le réseau au lieu des fichiers DTO? Il serait peut-être préférable d’utiliser une sérialisation légèrement personnalisée plutôt qu’un DTO complet.

utilisez ValueInjecter , ce qui vous permet de mapper n'importe quoi, p. ex.

 object <-> object
 object <-> Form/WebForm
 DataReader -> object

et il a des fonctionnalités intéressantes comme: aplatissement et unflattening

le téléchargement contient de nombreux exemples (exemples d'applications pour asp.net mvc, formulaires Web, formulaires Windows, tests unitaires)

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