Domanda

Sto usando LinqtoSQL per un'applicazione WPF MV-VM, poiché potrei voler passare da LinqtoSql a qualcos'altro in futuro, come Entity framework o Subsonic ecc., quindi ho trovato utile il modello di repository,

La mia domanda è come posso creare le classi del modello, suppongo di avere una tabella nel database, capisco che non posso usare la classe generata LINQtoSQL come classe del modello, se lo faccio, allora diverrei dipendente da LinqtoSQL, quale inturn mi toglie l'indipendenza che avrei di implementare il modello di repository, significa che avrei bisogno di avere le mie classi personalizzate per tutte le classi di entità?

È stato utile?

Soluzione

Buon Dio, no. Perché dovresti farlo da solo?

Devi già duplicare così tanto nei tuoi ViewModels, perché dovresti aggiungere un altro livello di duplicazione per ottenere così poco guadagno, specialmente considerando che L2S può usare semplici tipi di clr?

Considero entrambi i miei contratti di servizio da servizi WCF e tipi di ORM essere il mio modello. Solo perché non risiede in uno spazio dei nomi * .Model non significa nulla.

Se ritieni di aver bisogno di questo strato lubrificante, lascia che quello sia il tuo ViewModels. Ecco a cosa servono.

Altri suggerimenti

Sì, significa che devi implementare le tue classi personalizzate per tutte le classi di entità. È un dolore, ma questo è lo stato attuale delle cose.

Vedi questa risposta SO per ulteriori informazioni sull'argomento e alcuni possibili rimedi.

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