/// <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 }
/// <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>(); }
/// <summary> /// 添加管理提供者 /// </summary> /// <param name="service"></param> public static void AddManageProvider(this IServiceCollection service) { service.TryAddSingleton <IHttpContextAccessor, HttpContextAccessor>(); service.TryAddSingleton <IManageProvider, ManageProvider2>(); }