Sto creando un'applicazione multistrato, con un'applicazione asp.net mvc come livello più alto.Applicazione multilivello ASP.NET MVC: dove posizionare l'inizializzazione di Automapper?
l'architettura è la seguente (---> significa riferimenti):
Presentazione strato ---> Livello Servizio ---> strato Attività ----> strato di accesso ai dati ----> Database
Inoltre, esiste un livello denominato "Infrastruttura" a cui fanno riferimento tutti i livelli.
Ogni livello ha le proprie entità. Ad esempio: nel livello di presentazione potremmo avere UserViewModel, nel livello di servizio UserDTO, nel livello aziendale UserBDO e, infine, nel livello di accesso ai dati, Utente.
Il automapper viene utilizzato per automatizzare la conversione tra diversi tipi.
Ho letto che alcuni sviluppatori suggeriscono di posizionare la creazione dei mapping in Global.asax, ma è ovvio che se si dispone di un'applicazione multistrato non è possibile creare tutti i mapping lì. Non puoi mappare Utente con UserBDO nel livello di presentazione.
Quindi, sto chiedendo il modo più pulito per gestire la centralizzazione del mapping in un'applicazione multilayred. Puoi persino suggerire cambiamenti nell'architettura.
avete un livello come utility o framework, lì è possibile esporre una funzione che può digitare fromTYPE e TOTYPE e convertire – Rex
È necessario un progetto di utilità o qualcosa di simile. Dove tieni le tue enumerazioni (nomenclature)? –
@Vinary Singh Quindi, stai suggerendo di cambiare l'architettura? Il livello aziendale non può fare riferimento a tutti i tipi, ma solo a UtenteBDO e Utente. Non conosce UserDTO e UserViewModel. –