public override void DoServiceRegister(ContainerBuilder serviceContainerBuilder) { if (_options != null) { DbContextOptions dbContextOptions = new DbContextOptions { ConnectionString = _options.ConnectionString, DbType = _options.DbType }; Action <LogLevel, string> logAction = null; if (_options.OpenLogTrace) { logAction = (level, log) => { if (_container != null && _container.IsRegistered <Jimu.Logger.ILogger>()) { Jimu.Logger.ILogger logger = _container.Resolve <Jimu.Logger.ILogger>(); logger.Info($"【EF】 - LogLevel: {level} - {log}"); } }; } DefaultDbContext dbContext = new DefaultDbContext(dbContextOptions, _options.TableModelAssemblyName, logAction, _options.LogLevel); serviceContainerBuilder.RegisterType <UnitOfWork>() .WithMetadata("context", dbContext) .InstancePerLifetimeScope(); } base.DoServiceRegister(serviceContainerBuilder); }
public override void DoServiceRegister(ContainerBuilder serviceContainerBuilder) { serviceContainerBuilder.RegisterType <BaseDbContext>().As <IBaseDbContext>().InstancePerLifetimeScope(); serviceContainerBuilder.RegisterGeneric(typeof(Repository <>)).As(typeof(IRepository <>)).InstancePerLifetimeScope(); if (_options != null && _options.Enable) { //DbContextOptions dbContextOptions = new DbContextOptions //{ // ConnectionString = _options.ConnectionString, // DbType = _options.DbType //}; Action <LogLevel, string> logAction = null; if (_options.OpenLogTrace) { logAction = (level, log) => { if (_container != null && _container.IsRegistered <Jimu.Logger.ILogger>()) { Jimu.Logger.ILogger logger = _container.Resolve <Jimu.Logger.ILogger>(); logger.Info($"【EF】 - LogLevel: {level} - {log}"); } }; } } base.DoServiceRegister(serviceContainerBuilder); }
public override void DoServiceRegister(ContainerBuilder serviceContainerBuilder) { if (_options != null) { DbContextOptions dbContextOptions = new DbContextOptions { ConnectionString = _options.ConnectionString, DbType = _options.DbType }; Action <string> logAction = null; if (_options.OpenLogTrace) { logAction = (log) => { if (_container != null && _container.IsRegistered <Jimu.Logger.ILogger>()) { Jimu.Logger.ILogger logger = _container.Resolve <Jimu.Logger.ILogger>(); logger.Info($"【SqlSugar】 - {log}"); } }; } serviceContainerBuilder.RegisterType <UnitOfWork>() .WithParameter("options", dbContextOptions) .WithParameter("logAction", logAction).InstancePerLifetimeScope(); } base.DoServiceRegister(serviceContainerBuilder); }
public override void DoServiceRegister(ContainerBuilder serviceContainerBuilder) { if (_options != null) { DbContextOptions dbContextOptions = new DbContextOptions { ConnectionString = _options.ConnectionString, DbType = _options.DbType }; Action <string> logAction = null; if (_options.OpenLogTrace) { logAction = (log) => { if (_container != null && _container.IsRegistered <Jimu.Logger.ILogger>()) { Jimu.Logger.ILogger logger = _container.Resolve <Jimu.Logger.ILogger>(); logger.Info($"【SqlSugar】 - {log}"); } }; } serviceContainerBuilder.RegisterType <UnitOfWork>() .WithParameter("options", dbContextOptions) .WithParameter("logAction", logAction) .AsImplementedInterfaces() .InstancePerLifetimeScope(); // register repository var repositoryType = typeof(InlineEventHandler); var assembies = AppDomain.CurrentDomain.GetAssemblies(); var repositories = assembies.SelectMany(x => x.GetTypes()).Where(x => { if (x.IsClass && !x.IsAbstract && typeof(InlineEventHandler).IsAssignableFrom(x)) { foreach (var face in x.GetInterfaces()) { var isRepository = face.IsGenericType && face.GetGenericTypeDefinition() == typeof(IRepository <,>); if (isRepository) { return(true); } } } return(false); }).ToList(); repositories.ForEach(x => serviceContainerBuilder.RegisterType(x).AsImplementedInterfaces().InstancePerLifetimeScope()); } base.DoServiceRegister(serviceContainerBuilder); }