/ / Devrais-je toujours utiliser AsNoTracking dans l'application MVC N-Tier? [fermé] - c #, asp.net-mvc, entity-framework, asp.net-core

Devrais-je toujours utiliser AsNoTracking dans l'application MVC N-Tier? [fermé] - c #, asp.net-mvc, entity-framework, asp.net-core

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 № 1

Il 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.