Modo semplice per tradurre da DTO a Entità e da Entità a DTO?
-
03-07-2019 - |
Domanda
Di recente ho lavorato su diversi progetti client / server distribuiti e un punto dolente in cui ci imbattiamo sempre nella traduzione degli oggetti DTO nelle nostre entità e viceversa. Mi chiedevo se qualcuno ha un "semplice" soluzione per questo time sink?
Una cosa a cui ho pensato era trovare una sorta di traduzione usando la riflessione ... Immagino che dovresti assicurarti che i nomi delle tue proprietà fossero esattamente gli stessi su ogni lato del filo - ma sembra che potrebbe funzionare .
Sto solo cercando un modo per evitare che un po 'di questo tempo sprofondi nel mio sviluppo.
Grazie !!
Soluzione
Di recente ho usato AutoMapper e funziona come un fascino.
Altri suggerimenti
Dolore e rischio
di ottenere / impostare le proprietà a mano! Hai provato questo: http://dozer.sourceforge.net/ .
Un framework flessibile e configurabile per la traduzione da bean a bean. Potrebbe essere d'aiuto!
Ho avuto successo usando strumenti come XDoclet (anche se non dovrebbe essere difficile da scrivere) per generare automaticamente oggetti di trasferimento e semplici traduzioni di entità.
Detto questo, se ritieni che le tue traduzioni Entity siano abbastanza semplici da essere fatte usando la riflessione, c'è un motivo per cui non puoi semplicemente passare gli oggetti Entity sul filo invece che su DTO? Potrebbe essere meglio avere una serializzazione leggermente personalizzata rispetto a un DTO completo.
usa ValueInjecter , con esso puoi mappare qualsiasi cosa su qualsiasi cosa, ad esempio
object <-> object
object <-> Form/WebForm
DataReader -> object
e ha caratteristiche interessanti come: appiattimento e non appiattimento
il download contiene molti esempi (applicazioni di esempio per asp.net mvc, moduli web, winform, unit test)