Ejemplo n.º 1
0
        /// <summary>
        /// 添加Unit Of Work
        /// </summary>
        /// <param name="services"></param>
        public static void AddUow(this Microsoft.Extensions.DependencyInjection.IServiceCollection services)
        {
            #region UOW

            services.TryAddSingleton <IUnitOfWorkDefaultOptions, UnitOfWorkDefaultOptions>();

            services.AddTransient <ICurrentUnitOfWorkProvider, AsyncLocalCurrentUnitOfWorkProvider>();

            services.AddTransient <UnitOfWorkBase, EfCoreUnitOfWork>();

            services.AddTransient <IUnitOfWork, EfCoreUnitOfWork>();

            services.AddTransient <IUnitOfWorkManager, UnitOfWorkManager>();

            #endregion

            #region EntityFrameworkCore

            services.TryAddSingleton <IDbContextTypeMatcher, DbContextTypeMatcher>();

            services.AddTransient <IEfCoreTransactionStrategy, DbContextEfCoreTransactionStrategy>();

            services.AddTransient <IDbContextResolver, DefaultDbContextResolver>();

            services.AddTransient(typeof(IDbContextProvider <>), typeof(UnitOfWorkDbContextProvider <>));

            #endregion
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 添加管理提供者
        /// </summary>
        /// <param name="service"></param>
        public static void AddManageProvider(this IServiceCollection service)
        {
            service.TryAddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            service.TryAddSingleton <IManageProvider, ManageProvider2>();
            //service.TryAddSingleton(ManageProvider2.Provider);

            ManageProvider.Provider = service.BuildServiceProvider().GetService <IManageProvider>();
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 添加管理提供者
 /// </summary>
 /// <param name="service"></param>
 public static void AddManageProvider(this IServiceCollection service)
 {
     service.TryAddSingleton <IHttpContextAccessor, HttpContextAccessor>();
     service.TryAddSingleton <IManageProvider, ManageProvider2>();
 }