Supponiamo di avere un Order oggetto che ha List<OrderItem> , l'utente va alla pagina e crea il suo ordine, ora dovrei salvare la sua selezione nel database, ho due classi di servizi dati una per ogni entità , OrderDataService e OrderItemDataService , che è più corretto?
1- A livello di presentazione nel pulsante Add Scrivo un codice che chiama il metodo OrderDataService.Add(Order order) , quindi ciclo su List<OrderItem> e richiama OrderItemDataService.Add(OrderItem item) per ogni OrderItem facendo in modo che la transazione avvenga a livello di presentazione dietro il pulsante Add .
OR
2- Creare un metodo in OrderService.AddWithItems(Order order, List<OrderItem> items) che richiede Order e OrderItem come parametro e fare in modo che questo metodo gestisca il looping e la transazione?
Nota: Questo è un esempio molto semplice, in pratica le cose sono più complicate e la creazione di un metodo OrderService.AddWithItems () potrebbe richiedere troppi parametri.