J'ai une question concernant l' .AsNoTracking()
extension, car c'est tout à fait nouveau et assez déroutant.
J'utilise un contexte par demande pour un site Web.
Beaucoup de mes entités ne changent pas, donc je n'ai pas besoin d'être suivi, mais j'ai le scénario suivant où je ne suis pas sûr de ce qui va dans la base de données, ou même si cela fait une différence dans ce cas.
Cet exemple est ce que je fais actuellement:
context.Set<User>().AsNoTracking()
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
C'est la même chose que ci-dessus mais en supprimant l' .AsNoTracking()
étape 1:
context.Set<User>();
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Les étapes 1 et 2 utilisent le même contexte mais se produisent à des moments différents. Ce que je ne peux pas déterminer, c'est s'il y a une différence. Comme l'étape 2 est une mise à jour, je suppose que les deux frapperont la base de données de toute façon.
Quelqu'un peut-il me dire quelle est la différence?