private ControladorDatos()
 {
     try
     {
         if (ConfigurationManager.AppSettings.AllKeys.Contains("ContextDeferredLoadingEnabled"))
             bool.TryParse(ConfigurationManager.AppSettings["ContextDeferredLoadingEnabled"], out Cache);
         if (ConfigurationManager.AppSettings.AllKeys.Contains("LogEnabled"))
             bool.TryParse(ConfigurationManager.AppSettings["LogEnabled"], out LogEnabled);
         database = getContext();
         if (LogEnabled)
         {
             if (ConfigurationManager.AppSettings.AllKeys.Contains("LogFilePath"))
                 LogFilePath=ConfigurationManager.AppSettings["LogFilePath"];
             
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 private DatosABMTipos()
 {
     database = ControladorDatos.getContext();
 }
   public void recargarContexto()
   {
       try
       {
           database = createContext();
       }
       catch (Exception ex)
       {
           WriteErrorLog(ex);
           throw ex;
       }
 
   }
 internal static TrustDb getContext()
 {
     if (database == null)
         database = createContext();
     return database;    
 }
        internal static TrustDb createContext(bool deferredLoadingEnabled)
        {

            TrustDb context = new TrustDb(getConexion(), new DbLinq.MySql.MySqlVendor());
            context.ObjectTrackingEnabled = true;
            context.QueryCacheEnabled = false;
            context.DeferredLoadingEnabled = deferredLoadingEnabled;
            
            return context;
        }