Struttura del progetto per Web, Api, DAL e ViewModels

1

Ho un ASP .NET WebApi e un progetto web. Sto per creare una libreria di classi DAL ... Quali saranno i miei file codefirst / POCO o eventualmente edmx.

Mi chiedo se devo avere un'altra libreria di classi per DTO di ViewModels? ...

Dovrò mappare le entità db ad una sorta di ViewModel che sarà probabilmente necessario sia per i progetti web che per quelli Api.

Suona bene?

    
posta raklos 15.03.2016 - 21:52
fonte

1 risposta

2

Sorprendentemente, dipende.

Se stiamo parlando di un piccolo progetto con un piccolo numero di entità modello, non ha senso introdurre un altro livello fittizio di modelli.

Ma in soluzioni più grandi, specialmente quando verrà introdotta DI (inversione di dipendenza) tra DAL e BL, è utile separare (o persino necessario) per creare oggetti DTO. Questa separazione consentirà di rompere la dipendenza tra progetti Web e livello DAL e aumentare la testabilità.

Alcuni DTO saranno molto simili alle entità db, quindi usare Automapper può essere utile.

    
risposta data 15.03.2016 - 23:17
fonte

Leggi altre domande sui tag