Dans mon application, j'ai une architecture de base comme indiqué:
RepositoryMethods (DO) --> BusinessEngines (DTO) --> Controller (ViewModel)
J'aime conserver tout le code d'accès Entity Framework / DbContext au même endroit. Mes méthodes de référentiel ont toutes le DbContext injecté et sont toutes de style API par opposition à un référentiel générique:
Task<Post> GetAllPostsInCategory(int categoryId);
Ainsi, lorsque les entités (objets de domaine) sont converties en objets de transfert de données, puis en modèles de vue, le cadre des entités peut-il toujours les suivre ou dois-je toujours utiliser .AsNoTracking()
dans chaque méthode de référentiel? Dans le noyau net de points, je pense que cela peut être réglé globalement, est-ce que je me trompe?
Réponses:
1 pour la réponse № 1Il est logique que si vous renvoyez des entités à partir de l'API simplement, votre contexte n'aura jamais la possibilité de suivre quoi que ce soit.
Cependant, si vous mettez à jour ou supprimez des données, il est préférable de les conserver.