Tutto sta nella misurazione:
-
Quanto è ampio il divario tra il codice di questi otto siti,
-
In che modo questo divario si evolverà nel tempo.
Se si prevede che i siti web si evolveranno in modo quasi indipendente, avere otto progetti potrebbe avere senso. Tuttavia, se gran parte delle modifiche si applicano a tutti e otto i siti Web, è spiacevole apportare la modifica otto volte.
Dato il vincolo che lo schema del database non può essere modificato, non sarai in grado di avere comunque un database (dato che questa dovrebbe essere la scelta originale, e i database dovrebbero essere stati divisi esclusivamente in un caso in cui le differenze di schema erano troppo palesemente portare a un uso estremo delle dichiarazioni switch
per adattare lo schema comune a tutti gli otto casi.
Questo, insieme all'utilizzo di Entity Framework, significa che avrai otto progetti a livello di accesso ai dati. Ora, se ci sono poche differenze, potrebbe avere senso avere un sito web comune usando uno degli otto fornitori di dati. Se le differenze sono troppo numerose, questo alla fine porta a otto progetti di siti web. In questo caso, comunque, prova ad esportare più codice aziendale possibile in una libreria comune.
8 Web MVC websites, one for each organization. Specific business logic here.
Poiché i siti web sono, secondo la tua domanda, il 90-95% simile, questo significa che il 90-95% di quelle regole aziendali saranno duplicate, ancora e ancora e ancora. Come con qualsiasi duplicazione, questo significa che ogni volta che qualcuno cambia una regola per un sito, o dimentica di fare lo stesso cambiamento per altri sette siti, o ne crea uno dove non dovrebbe o crea regressioni perché dimentica la specificità di uno dei siti.