
Originariamente inviata da
alka
A mio avviso, non è corretto: dietro le quinte dovrebbe essere trattato esattamente come la connessione al DB.
Il nome scelto non è casuale:
Context.
Infatti, dovrebbe implementare il pattern cosiddetto
Unit Of Work, ovvero essere creato per racchiudere le operazioni che afferiscono al caricamento, modifica, eliminazione di entità, che possono poi essere confermate in toto tramite
SaveChanges() oppure annullate allo stesso modo scartando l'oggetto (ovvero uscendo dal metodo che lo utilizza, senza salvare nulla).
Non mi risulta peraltro che quell'oggetto sia
thread-safe, quindi crearlo in modalità
Singleton e utilizzarlo ovunque, la stessa istanza, è pure "pericoloso".
Un approfondimento generale si può trovare in
questo articolo, molto dettagliato.
L'uso "migliore" o "corretto" prescinde dal database che sta dietro: le regole valgono per
SQL Server,
Firebird,
MySQL, ecc.
Ciao!
