Domanda

Dopo aver letto su Enitity quadro, ho alcune domande:

1] Qual è il modo migliore per trasferire Enti tra i livelli?       a] non devo creare DTOs più leggeri per questo o posso efficace serializzare l'entitiy e trasferirlo?

b] se devo creare DTOs chiare, per Efficency, e dopo aver visto la bella utilizzo di Automapper,           i didnt capisco come si salva la codifica supplementare ( se è il suo obiettivo ),           Voglio dire, abbiamo bisogno di scrivere le proprietà di classe flattern (DTO), quindi la sua salva solo il ctor.

2] non v'è alcun punto di costruzione entitiy Classi Indietro da DTOS?

Grazie.

È stato utile?

Soluzione

Risposta a 1: Il modo migliore per trasferire le entità tra i livelli dipende dalla vostra applicazione. È possibile creare DTOs che è il mio soluzione preferita anche se la serializzazione entità è possibile ma è necessario assicurarsi che questo è in realtà ciò che si vuole fare e ricordare:

"quando si utilizza la serializzazione binaria e WCF contratto di serializzazione dei dati, se l'oggetto viene serializzato ha relativi oggetti nel grafo di oggetti, questi oggetti sono anche serializzati. Serializzazione XML non serializzare oggetti correlati".

Automapper opere di proprietà di mapping automaticamente, piuttosto che dover scrivere tutte le dichiarazioni idraulici come ad esempio:

dto.id = entity.id;
...
all other dto assignment operations

A presto vedere la quantità di codice impianto idraulico si sommano così farà risparmiare un bel po 'di questo che = righe di codice, soprattutto se si hanno classi di visualizzazione, nonché DTO oggetti e ho trovato questo montato perfettamente quello che volevo. Per quanto io sono a conoscenza automapper funziona solo se i nomi sono gli stessi tra l'entità e DTO e può mappare tra i tipi di queste proprietà. È possibile aggiungere regole di mappatura per la conversione tra i tipi ma se il negozio dto e l'entità dei dati in un diverso tipo.

Risposta a 2: Se si converte oggetti per DTOS e modificarli a livelli più alti come pensate a salvare di nuovo attraverso il quadro entità? Di solito si sarebbe solo convertire queste indietro sulle entità correlate / creare una nuova entità e inviare questi cambiamenti.

Altri suggerimenti

Si desidera guardare RIA Servizi . E 'costruito proprio per questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top