Quote Originariamente inviata da alka Visualizza il messaggio
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!

Grazie Alka! Sembra abbastanza chiaro!
Allora direi che il metodo migliore è proprio creare il tutto al bisogno e poi dare un bel colpo di "dispose" a tutto!