-
EF (designer) + WCF
Bonjour à tous :),
je voudrais avoir votre avis sur la composition de mon projet, je vous explique j'ai déjà une base de données, j'ai créé une solution avec comme projet :
- Web (pratiquement vide)
- Bibliothèque WCF
- Bibliothèque C#
* Partie data : edmx généré par Entity Framework Designer
* Partie objet métier
* Partie mapping qui fais la correspondance entre objet metier et entitée
Je ne sais pas si cette approche est réellement juste ... j'aurais voulu passer les entités sans avoir d'objet métier pour faciliter le tout mais le webservice n'arrive pas a transmettre les sous objets (le serveur envoi un CONNECTION RESET), mais le fait de passer par des objets métiers (et donc le mapping) est un peu lourd ... surtout lorsqu'il faudra faire des modifications sur les entités ...
Vous avez des idées et des tutos a me conseiller ? (Je me base sur ce tuto pour le webservice restfull : http://www.developerhandbook.com/wcf...ng-wcf-1-of-3/)
Merci & Bonne année !!!
-
Oui c'est une bonne architecture n-tiers. On retrouve la couche d'accés aux données (partie data), la couche DTO - Data Transfer Objects (partie objet métier) et le mapping.
On pourrait rajouter une couche Business afin de centraliser les traitements liés aux règles métier.
Sinon les DTO sont nécessaires car ils sont concus pour transiter entre les différentes couches de l'application et faire circuler les informations. Pour le mapping, c'est fastidieux c'est clair. Il existe des librairies telles qu'AutoMapper qui permettent de faire cela automatiquement (sans avoir à coder le mapping propriété par propriété). Cependant ca ajoute quelques contraintes, de nommage notamment. Il faut que les objets et leurs propriétés aient le même nom afin de pouvoir faire ce mapping automatiquement en utilisant la réflexion fournie par .NET.