Efekty uboczne w serwisie

0

Mam serwis który zapisuje pewne elementy
Jeżeli encja ma w sobie ID to próbuję updateować to ID w bazie
Jeżeli encja nie ma ID to leci INSERT

Teraz pytanie co z encją w przypadku insertu - czy ID z bazy danych zapisywać bezpośrednio do encji przez referencje czy zwracać ID z funkcji, a jego obsługą powinna się zająć metoda wywołująca serwis?

Które podejście jest częściej stosowane

0

A w jaki sposób zapisujesz encje? Bezpośrednio wywołujesz SQL? Bo jeśli byś użył biblioteki do operacji na bazie np. Entity Framework (sugeruję się tagiem 'C#') to on sam po zapisie ustawia Id encji, którą się zapisuje więc po wykonaniu SaveChanges() ma się poprzedni obiekt z już ustawionym Id. Jeśli z jakichś powodów chcesz nadal sam się bawić w obsługę zapisu to myślę, że zapisywanie bezpośrednio do encji będzie lepszym rozwiązaniem niż zwracanie gołego Id w funkcji.

0

Pytanie ogólne, na ten sam problem natrafiałem we wszystkich językach
Czyli rozumiem, że występowanie efektów ubocznych metody jest w tym przypadku usprawiedliwione

0

Tak działają chyba wszystkie ORMy, więc jak najbardziej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1