using Microsoft.EntityFrameworkCore; namespace bdHerramientaCACOA.dbcontext { public class tsHerramientasCACOA:bdHerramientaCACOA.dbcontext.herramientascacoaContext { public static bool Cargado = false; private static String? _Ip = null; public string? ip { get { return _Ip; } set { _Ip = value; } } public string Aplicaciones { get; private set; } private static string? ConexionPorDefecto = null; public static void EstableceCBD(string WriteConnection, string ReadOnlyConnection, bool soloLectura = false) { Utilidades.CadenaConexionBD = soloLectura ? ReadOnlyConnection : WriteConnection; Utilidades.CadenaConexionBD_SL = ReadOnlyConnection; } public static tsHerramientasCACOA NuevoContexto(string NombreConexion = "", bool Lazy = true, bool SoloLectura = false, bool ConEventoSavingChanges = false, string aplicaciones = "") { string? cnx = Utilidades.CadenaConexionBD; if (SoloLectura) cnx = Utilidades.CadenaConexionBD_SL; var ob = new DbContextOptionsBuilder(); // ob.UseLoggerFactory(_myLoggerFactory); // ob.UseInternalServiceProvider() ob.UseMySql(cnx, Microsoft.EntityFrameworkCore.ServerVersion.Parse("8.2.0-mysql")); if (Lazy) ob.UseLazyLoadingProxies(); if (SoloLectura) ob.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking); var Opciones = ob.Options; tsHerramientasCACOA bd = new tsHerramientasCACOA(Opciones); bd.Aplicaciones = aplicaciones; return bd; } public tsHerramientasCACOA(DbContextOptions Opciones) : base(Opciones) { if (_Ip == null) { ip = tsEFCore8.bbdd.ObtieneIPMysql(this); } else { ip = _Ip; } } } }