예제 #1
0
        /// <summary>
        ///     构造函数
        /// </summary>
        /// <param name="efTransactionStrategy"></param>
        /// <param name="iocResolve"></param>
        public EfUnitOfWork(IEfTransactionStrategy efTransactionStrategy, IIocResolve iocResolve)
        {
            _efTransactionStrategy = efTransactionStrategy;
            IocResolve             = iocResolve;

            ActiveDbContexts = new Dictionary <string, DbContext>();
        }
        public DbMasterSlaveCommandInterceptor()
        {
            var config = EngineContext.Current.Resolve <ArticleConfig>();

            _transactionStrategy    = EngineContext.Current.Resolve <IEfTransactionStrategy>();
            _dbContextProvider      = EngineContext.Current.Resolve <IDbContextProvider>();
            _slaveConnectionString  = config.MsSqlConnectionString;
            _masterConnectionString = config.MsSqlWriteConnectionString;
        }
예제 #3
0
 public EfUnitOfWork(IIocResolve iocResolver, IUnitOfWorkDefaultOptions defaultOptions, IConnectionStringResolver connectionStringResolver,
                     IEfTransactionStrategy transactionStrategy, IDbContextTypeMatcher dbContextTypeMatche,
                     IDbContextResolver dbContextResolver) : base(connectionStringResolver)
 {
     IocResolver           = iocResolver;
     _transactionStrategy  = transactionStrategy;
     _dbContextTypeMatcher = dbContextTypeMatche;
     _dbContextResolver    = dbContextResolver;
     _activeDbContexts     = new Dictionary <Type, DbContext>();
 }
예제 #4
0
 /// <summary>
 /// cotr
 /// </summary>
 /// <param name="defaultOptions"></param>
 /// <param name="iocResolver"></param>
 /// <param name="currentUnitOfWork"></param>
 /// <param name="dbContextResolver"></param>
 /// <param name="dbContextTypeMatcher"></param>
 /// <param name="connectionStringResolver"></param>
 /// <param name="transactionStrategy"></param>
 public EfUnitOfWork(IUnitOfWorkDefaultOptions defaultOptions,
                     IIocResolver iocResolver,
                     ICurrentUnitOfWorkProvider currentUnitOfWork,
                     IDbContextResolver dbContextResolver,
                     IDbContextTypeMatcher dbContextTypeMatcher,
                     IConnectionStringResolver connectionStringResolver, IEfTransactionStrategy transactionStrategy)
     : base(defaultOptions, currentUnitOfWork, connectionStringResolver)
 {
     IocResolver           = iocResolver;
     _dbContextResolver    = dbContextResolver;
     _dbContextTypeMatcher = dbContextTypeMatcher;
     _transactionStrategy  = transactionStrategy;
     ActiveDbContexts      = new Dictionary <string, DbContext>();
     DbContexts            = new List <DbContext>();
 }
예제 #5
0
        /// <summary>
        ///     Creates a new <see cref="EfUnitOfWork" />.
        /// </summary>
        public EfUnitOfWork(
            IConnectionStringResolver connectionStringResolver,
            IDbContextResolver dbContextResolver,
            IEfUnitOfWorkFilterExecuter filterExecuter,
            IUnitOfWorkDefaultOptions defaultOptions,
            IDbContextTypeMatcher dbContextTypeMatcher,
            IEfTransactionStrategy transactionStrategy)
            : base(
                connectionStringResolver,
                defaultOptions,
                filterExecuter)
        {
            _dbContextResolver    = dbContextResolver;
            _dbContextTypeMatcher = dbContextTypeMatcher;
            _transactionStrategy  = transactionStrategy;

            ActiveDbContexts = new Dictionary <string, DbContext>();
        }
예제 #6
0
        /// <summary>
        /// Creates a new <see cref="EfUnitOfWork"/>.
        /// </summary>
        public EfUnitOfWork(
            IIocResolver iocResolver,
            IConnectionStringResolver connectionStringResolver,
            IDbContextResolver dbContextResolver,
            IEfUnitOfWorkFilterExecuter filterExecuter,
            IUnitOfWorkDefaultOptions defaultOptions,
            IDbContextTypeMatcher dbContextTypeMatcher,
            IEfTransactionStrategy transactionStrategy)
            : base(
                connectionStringResolver,
                defaultOptions,
                filterExecuter)
        {
            IocResolver           = iocResolver;
            _dbContextResolver    = dbContextResolver;
            _dbContextTypeMatcher = dbContextTypeMatcher;
            _transactionStrategy  = transactionStrategy;

            ActiveDbContexts = new Dictionary <string, DbContext>(System.StringComparer.OrdinalIgnoreCase);
        }
예제 #7
0
 /// <summary>
 /// Creates a new <see cref="EfUnitOfWork"/>.
 /// </summary>
 public EfUnitOfWork(
     IIocResolver iocResolver,
     IConnectionStringResolver connectionStringResolver,
     IDbContextResolver dbContextResolver,
     // IEfUnitOfWorkFilterExecuter filterExecuter,
     IUnitOfWorkDefaultOptions defaultOptions,
     IDbContextTypeMatcher dbContextTypeMatcher,
     IEfTransactionStrategy transactionStrategy,
     IEnumerable <IEntityConfiguration> entityConfigurations
     )
     : base(
         connectionStringResolver,
         defaultOptions)
     // filterExecuter)
 {
     IocResolver               = iocResolver;
     _dbContextResolver        = dbContextResolver;
     _dbContextTypeMatcher     = dbContextTypeMatcher;
     _transactionStrategy      = transactionStrategy;
     this.entityConfigurations = entityConfigurations;
     ActiveDbContexts          = new Dictionary <string, DbContext>();
 }
예제 #8
0
 public EfUnitOfWork(IEfTransactionStrategy transactionStrategy)
 {
     _transactionStrategy = transactionStrategy;
     ActiveDbContexts     = new Dictionary <string, DbContext>();
 }
예제 #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="serviceProvider"></param>
 /// <param name="transactionStrategy"></param>
 /// <param name="options"></param>
 public EfUnitOfWork(IServiceProvider serviceProvider, IEfTransactionStrategy transactionStrategy, IOptions <UnitOfWorkDefaultOptions> options) : base(serviceProvider, options)
 {
     _transactionStrategy = transactionStrategy;
 }
예제 #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="transactionStrategy"></param>
 /// <param name="options"></param>
 public EfUnitOfWork(IEfTransactionStrategy transactionStrategy, IOptions <UnitOfWorkDefaultOptions> options) : base(options) => _transactionStrategy = transactionStrategy;