Nella mia piccola applicazione C #, gestisco le query SQL direttamente dal codice utilizzando ADO.NET di base. Non voglio utilizzare un ORM, come Entity Framework.
Ora, ho un repository per le operazioni CRUD. Ma trovo che ho bisogno di flessibilità per query più complesse.
Ad esempio, ecco il processo (ingenuo e semplificato) di accesso all'applicazione:
- L'utente digita una password (nessun nome utente, stile Windows).
- A
Count
SQL-query conta gli utenti con tali credenziali. - Se esiste un utente con tali credenziali, un repository di utenti carica le informazioni dell'utente dal database e recupera un oggetto
User
.
Ora, dove dovrebbe essere il metodo Count
? Certamente non può essere nel repository, quindi dove dovrebbe essere? Esiste un modello per la gestione di tali operazioni non CRUD rispetto al database?