-
WCF & Entity Framework
Bonjour tout le monde,
Dans une solution telle que:
DAL (contient l'edmx) -> BLL -> WebService WCF -> UI
Le but est que l'UI ne fasse appel qu'au WCF, le WCF à la BLL et cette dernière à la DAL.
Pour le moment, la DAL contient la définition de l'EDMX et donc des POCO.
Comment puis-je faire transiter les POCO?
De la DAL vers la BLL aucun soucis (une référence de DAL dans BLL et j'obtiens les définitions des POCO de l'EDMX).
De la BLL vers le WCF: il ne connaît plus la définition et c'est normal car celle-ci se trouve dans la DAL.
Comment puis-je faire pour obtenir la définition des POCO sans devoir référencer la DAL ?
Est-il possible de déporter cette définition dans un projet à part et du coup, ce projet est lui référencé par toutes les couches ?
Et comment l'UI y fera-t-il référence ?
Bref, est-il possible d'utiliser cette architecture avec EF ?
Cordialement,
Eagleleader.
-
Bonjour,
Il est possible d'utiliser des DTO et d'ajouter un mapping DTO/Entités EF
Dans les architectures que j'ai rencontrées, le mapping s'effectue dans une librairie à part (MAPPER)
BLL, MAPPER, DAL référence les DTO et les Entités EF
UI et WCF référence uniquement les DTO
BLL référence MAPPER pour convertir des Entités EF en DTO (et vice/versa)
UI utilise des DTO et ne connait pas les entités EF.
Autre approche : OData avec WCF Data services
-
Salut dkmix,
Je vais voir du côté OData car je viens de regarder un article qui va vers ce que je souhaite je pense (http://www.microsoftvirtualacademy.c...amework-et-wcf)
Merci pour ta réponse et j'espère que je trouverai mon bonheur.
Cordialement,
Eagle.
-
Je me suis finalement tourné vers OData suite au tutoriel suivi sur la MSDN de Mim.
Ma structure se décompose en:
DAL (contient l'EDMX) -> WebService -> UI
J'ai laissé tomber pour le moment la partie BLL dans ce projet de départ.
Merci dkmix pour tes idées !