Ho avuto un dibattito all'interno del mio team su ciò che costituisce un livello di accesso ai dati rispetto alle funzioni dati rispetto ai livelli aziendali.
La mia opinione è che tutti gli accessi al database avvengano in un livello di accesso ai dati con classi di repository. Il DAL contiene classi di utilità e amp; metodi che popolano un DataSet, List < & gt ;, POCO, Execute SQL, ma come classi interne utilizzando il metodo di scelta del metodo di accesso: ADO, EntityFramework, nHibernate, ecc. Il livello aziendale interagisce quindi con il DAL senza conoscere alcuna metodologia di accesso ai dati o SQL.
Un compagno di squadra ha questo approccio. I nomi delle stored procedure e SQL sono nelle classi aziendali. Quindi vengono passati al DAL che quindi popola ed esegue SQL.
Qual è la migliore pratica?