Ho una domanda .AsNoTracking()
sull'estensione, dato che è tutto abbastanza nuovo e piuttosto confuso.
Sto usando un contesto per richiesta per un sito Web.
Molte delle mie entità non cambiano, quindi non ho bisogno di essere rintracciate, ma ho il seguente scenario in cui non sono sicuro di cosa accadrà al database o anche se in questo caso fa la differenza.
Questo esempio è quello che sto facendo attualmente:
context.Set<User>().AsNoTracking()
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
È lo stesso di cui sopra, ma rimuovendo .AsNoTracking()
dal passaggio 1:
context.Set<User>();
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
I passaggi 1 e 2 utilizzano lo stesso contesto ma si verificano in momenti diversi. Quello che non riesco a capire è se c'è qualche differenza. Dato che il passaggio 2 è un aggiornamento, suppongo che entrambi colpiranno comunque il database due volte.
Qualcuno può dirmi qual è la differenza?