Una cosa abbastanza scomoda quando si realizza un'applicazione che deve funzionare con diversi database è la difficoltà dovuta al cambiamento che il passare da un managed provider ad un altro comporta.
Attraverso lo script di oggi vedremo come sfruttare le interfacce, che si trovano nel namespace System.Data, implementate dagli oggetti di cui è composto ogni managed provider.
Nel caso specifico, ecco come diventa un metodo che restituisce un DataReader all'interno del nostro data layer:
public IDataReader GetDataReader(string sql) { // creazione di un SqlDataReader nella variabile dr return dr; }
Quando dovremo accedere a questo metodo della nostra classe, ci basterà riferirci sempre all'interfaccia, in questo modo, anzichè alla classe specifica per il managed provider che stiamo utilizzando internamente:
using (IDataReader dr = myClass.GetDataReader(sql)) { dg.DataSource = dr; dg.DataBind(); }
Sfruttando questo accorgimento, l'eventuale cambio di managed provider ha un impatto minimo sull'applicazione, poichè il codice da cambiare risiede tutto nel DAL e non ha effetti sulla struttura delle pagine.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.