Ho preso in considerazione l'utilizzo di dapper
, ma non mi piace ancora l'idea di usare SQL inline. Ci sono dei pensieri su solo avere stored procedures
quindi nel caso in cui ci sia un problema con la query, non avrebbe bisogno di una recompilation
, ma solo una modifica di una stored procedure
in un database. Esistono alternative come mantenere tutte SQL queries
nella propria libreria di classi?
Dapper supporta entrambe le opzioni e non ha opinioni sull'argomento.
La tua domanda suggerisce che l'implementazione del tuo codebase sia complicata. Se si tratta di codice lato client, ciò potrebbe avere senso. Per il codice lato server, in genere è più semplice ridistribuire l'app che modificare una stored procedure, preferibilmente 1 clic tramite qualcosa come TeamCity. Naturalmente, le procedure memorizzate dovrebbero anche avere il controllo di processo / distribuzione.
Avere l'SQL in una libreria di classi non ti comprerà molto: devi ancora ridistribuire per ottenere le modifiche. Ovviamente, potrebbe avere senso avere il codice orientato ai dati in assembly separati al codice UI (ecc.), Ma questa è una decisione dell'architettura locale.