.AsNoTracking()
Uzatma ile ilgili bir sorum var , çünkü bunlar tamamen yeni ve oldukça kafa karıştırıcı.
Bir web sitesi için istek başına bağlam kullanıyorum.
Varlıklarımın çoğu değişmez, bu yüzden takip edilmesi gerekmez, ancak veritabanına ne gittiğinden emin olmadığım ya da bu durumda bir fark yaratıp yaratmadığından emin olmadığım aşağıdaki senaryo var.
Bu örnek şu anda yaptığım şey:
context.Set<User>().AsNoTracking()
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Bu yukarıdakiyle aynıdır ancak 1. Adımdan kaldırılır .AsNoTracking()
:
context.Set<User>();
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Adım 1 ve 2 aynı bağlamı kullanır, ancak farklı zamanlarda gerçekleşir. Çözemediğim herhangi bir fark olup olmadığı. Adım 2 bir güncelleme olduğu için her ikisi de zaten iki kez veritabanına çarpacak tahmin ediyorum.
Birisi bana farkın ne olduğunu söyleyebilir mi?