Je pense que si vos référentiels utilisent un ORM, il est déjà suffisamment extrait de la base de données.
Cependant, là où je travaille maintenant, quelqu'un pense que nous devrions avoir une couche qui résume l'ORM au cas où nous souhaiterions changer l'ORM plus tard.
Est-ce vraiment nécessaire ou c'est simplement beaucoup de travail pour créer une couche qui fonctionnera sur de nombreux ORM?
Éditer
Juste pour donner plus de détails:
- Nous avons des classes POCO et Entity Class qui sont mappées avec AutoMapper. La classe d'entité est utilisée par la couche Repository. La couche de référentiel utilise ensuite la couche d'abstraction supplémentaire pour communiquer avec Entity Framework.
- La couche métier n'a en aucun cas un accès direct à Entity Framework. Même sans la couche d'abstraction supplémentaire sur l'ORM, celle-ci doit utiliser la couche de service qui utilise la couche de référentiel. Dans les deux cas, la couche métier est totalement séparée de l'ORM.
- L'argument principal est de pouvoir changer ORM à l'avenir. Puisqu'il est vraiment localisé à l'intérieur de la couche Repository, pour moi, il est déjà bien séparé et je ne vois pas pourquoi une couche d'abstraction supplémentaire est nécessaire pour avoir un code "de qualité".