Donc, je travaille sur un nouveau logiciel, mais je n'ai pas d'autre choix que de frotter la base de données. Je voudrais utiliser Entity Framework là où c'est logique.Entity Framework, Projections, and Relations (oh mon?)
Voici mon dilemme:
- Comme les tables sont très larges, et je ne peux pas changer cela, je vais probablement faire un usage intensif de projection pour limiter la largeur des ensembles de données que je requête. D'après ce que j'ai pu voir, beaucoup de gens utilisent un modèle où il y a une seule classe DbContext pour l'ensemble du projet.
Ainsi,
je pèse ces avantages et les inconvénients, et je me demande quelles sont les meilleures pratiques établies pourraient être:
- Utilisez 1 DbContext.
- Il pourrait y avoir beaucoup de "pollution" ici, avec des paquets de projections des données à l'intérieur de la classe de contexte 1. Cela sonne comme si cela pouvait devenir un cauchemar de maintenance. Ne faites pas mes projections dbsets du tout - faites-en simplement des objets anciens et sélectionnez un nouveau MyProject {..} dans ceux-ci.
- Cette offre l'avantage de garder mes projections dans des ensembles spécifiques au module et namespaces, mais maintenant je reçois pas de chargement de navigation/paresseux/etc
- Soyez le mal ?? et utiliser plusieurs DbContexts? Je ne suis pas vraiment sûr de ce que l'histoire de la maintenance ressemble ici, mais je suis en quelque sorte commencer à pencher dans cette direction. Mon plus gros problème, c'est que j'ai l'impression de nager contre le courant - peu de gens semblent le faire, mais pour un système de grande taille, il semble que ce soit la meilleure option.
- Il pourrait y avoir beaucoup de "pollution" ici, avec des paquets de projections des données à l'intérieur de la classe de contexte 1. Cela sonne comme si cela pouvait devenir un cauchemar de maintenance. Ne faites pas mes projections dbsets du tout - faites-en simplement des objets anciens et sélectionnez un nouveau MyProject {..} dans ceux-ci.
pensées?