Czy używając EF muszę sięgać dwa razy do bazy żeby zaktualizować dane? Mam np osobę, której chcę zaktualizować imię.
Wizyty w bazie pokazałem pogrubioną czcionką.
- Aplikacja uruchamia się i robi do bazy select po dane osoby. Baza zwraca te dane.
- Przekazuję co mi potrzebne do warstwy wyżej i wyświetlam użytkownikowi dan osoby.
- Użytkownik z interfejsu aplikacji zmienia imię osobie.
- Następnie wybiera opcję zapisu zmiany.
- Znowu muszę zrobić w EF select do bazy zeby wyciągnąć obiekt który ma zostać zmodyfikowany
var personToModify = await context.People.FirstOrDefaultAsync(p=> p.id == id);
- do pobranego obiektu przypisuje nowe imię
personToModify.Name = name;
- Zapisuję zmianę do bazy
await context.SaveChangesAsync();
Czyli łącznie są 3 wycieczki do bazy. Czy tak to ma wyglądać jeśli korzystam z EF? Pytanie pojawiło mi się w głowie gdy chciałem tę samą funkcjonalność aplikacji zrobić bez EF. Wtedy pisałem sql recznie i miałem tylko select z punktu 1 a pozniej juz sam napisałem update, czyli robiąc ręcznie pomijam pkt 5.