Domanda

Qualcuno può dirmi se è possibile estrarre le classi generate linq2sql in un progetto separato in C#?- Presumo di poter semplicemente creare i file, quindi copiarli in un nuovo progetto e aggiungere un riferimento al mio progetto Dati?

Il problema che ho è che ho la mia interfaccia utente, il livello di servizio e il livello dati...

Attualmente il livello dati ha anche il linq2sql generato poiché è qui che si trova il dbml.

Quindi quindi ho bisogno di avere un riferimento dal servizio ai dati, il che è positivo!Ma ho la mia interfaccia utente per fare riferimento al livello di servizio, ma non penso che sia una buona idea che la mia interfaccia utente abbia un riferimento al livello dati (poiché ne avrebbe bisogno per le classi linq2sql).

Quindi l'unico modo che vedo è estrarre le classi e inserirle in un progetto separato in modo che tutti i progetti possano condividerli.È una buona pratica?

Quali convenzioni di denominazione dovrei chiamare questo progetto, DTO?POCO?Entità?o simili

Mi piacerebbe davvero sentire qualche feedback su come raggiungere questo obiettivo e se ho le linee giuste

È stato utile?

Soluzione

Non sono sicuro al 100% che funzioni anche per Linq2Sql (immagino di sì), ma questo è quello che faccio con Linq2Entities:

Una volta generate le classi, le sposto manualmente in un progetto diverso.Di solito chiamo questo progetto xxxxxx.Model.Probabilmente anche le entità andrebbero bene, ma starei lontano da DTO e POCO perché quelle classi non sono nessuna delle due.Credo che ci sia un modo per fare POCO con Linq2Sql, ma non se usi il designer.Quindi aggiungo i riferimenti necessari agli altri livelli.

Spero che questo ti aiuti.

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