Mam pytanie dotyczące .AsNoTracking()
rozszerzenia, ponieważ jest to całkiem nowe i dość mylące.
Używam kontekstu na żądanie dla witryny.
Wiele moich bytów się nie zmienia, więc nie trzeba ich śledzić, ale mam następujący scenariusz, w którym nie jestem pewien, co się dzieje z bazą danych, a nawet czy to ma znaczenie w tym przypadku.
Ten przykład to, co obecnie robię:
context.Set<User>().AsNoTracking()
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Jest to to samo co powyżej, ale usuwa .AsNoTracking()
z kroku 1:
context.Set<User>();
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Kroki 1 i 2 wykorzystują ten sam kontekst, ale występują w różnych momentach. Nie mogę wypracować, czy jest jakaś różnica. Ponieważ krok 2 jest aktualizacją, obaj i tak trafią do bazy danych dwa razy.
Czy ktoś może mi powiedzieć na czym polega różnica?