2009-03-16 14 views
6

Ho letto domande e risposte su questo argomento ma ho ancora qualche domanda senza risposta.Servizio WCF che espone DTO o entità

Se creo un metodo per convertire entità a DTO Corro in alcuni metodi chiamata circolare (probabilmente causati da errori di modello), ad esempio:

prodotto classe ha una proprietà fornitore che puntare a una classe Supplier che contenga una proprietà List con tutti i prodotti forniti. Quindi, se creo un metodo GetProductDTO (Entità prodotto) che restituisce una classe ProductDTO dovrò chiamare GetSupplierDTO (Entità fornitore) per ogni prodotto, ma quest'ultimo metodo deve chiamare GetProductDTO per ogni prodotto nell'elenco dei prodotti sup plied ...

In sintesi, sto cercando uno schema o una procedura ottimale per creare un servizio EntityModel -> WCF Service -> Prism WPF.

Grazie

risposta

5

In generale, per scopi DTO si potrebbe semplicemente scegliere di non serializzare tutte le proprietà "madre". Spesso, vedi DTO con no proprietà di navigazione eccetto per rigorosamente dati associati (ad esempio, order-header => order-detail, ma non avresti order-header => customer - solo la chiave del cliente; 'prendi il cliente separatamente). Con questo approccio, esiste un percorso unidirezionale per serializzare/deserializzare qualsiasi grafico e dovrebbe funzionare correttamente.

+0

Ok, questa può essere la soluzione rapida ... prossimo nel client devo ricreare il grafico? Quindi su ciascun lato devo convertire EF-> DTO e DTO-> EF? –

+0

Sì. Questo è quello che devi fare. –

+3

Dannazione, non è la risposta che stavo aspettando ... :-) –

Problemi correlati