Nie mogę znaleźć odpowiedzi w Internecie.Czy Entity Framework w DbContext zapisuje zmiany, jeśli nie wprowadzono żadnych zmian?
Załóżmy, że mam DbContext
, i po prostu wybieram wszystkie elementy z niego. Nie dodawam, nie aktualizuję ani nie usuwam żadnego podmiotu pod numerem DbSet
.
Jeśli zadzwonię pod numer SaveChanges
na DbSet
. Czy rzeczywiście marnuje zasoby ustanawiając połączenie i inne rzeczy, nawet jeśli nie wprowadziłem żadnych zmian do DbSet
?
Czy jest wystarczająco inteligentny, aby wykryć, czy zmiana została dokonana, czy nie, i zachowywać się inaczej?
Czy próbowałeś go za pomocą profilera zobaczyć? Wydaje się, że to pytanie można odpowiedzieć po teście. – Jamiec
Nie, DbContext śledzi zmiany, więc wie, co zatwierdzić. Jeśli nie ma wiedzy o żadnych zmianach, to jaki dokładnie byłby punkt łączenia się z bazą danych. –