Ho alcuni dati nel mio ERP che si formano in un modo molto strano (si pensi a un campo HTML che contiene molti campi diversi, formattati in HTML che devono essere estratti usando XPath).
La trasformazione di questi dati nei campi del modello è il lavoro del repository? O il repository dovrebbe occuparsi solo di ottenere i record dal database e quindi avere un servizio o un trasformatore di qualche tipo che trasforma questo codice HTML nei singoli campi?
Il mio repository restituisce un IList<Product>
, tuttavia questo modello contiene tutti i campi che devono essere compilati. Se volessi restituire correttamente questo tipo, dovrei estrarre tutti i campi dal campo HTML e impostarli, il che non sembra appartenere al repository.
Ho anche visto qualcosa di simile nel passaggio al repository come qualcosa di IProductTransformer
.
Un'altra opzione è quella di avere modelli separati ... uno per il risultato della chiamata al database e uno per come voglio interagire con il modello nel codice del programma .. e quindi mapparli attraverso un trasformatore?