/// <summary>
 /// Creates the unit of work.
 /// </summary>
 protected virtual EntityFrameworkUnitOfWork CreateUnitOfWork(Func <DbContext> contextFactory, DbConnectionOption options)
 {
     return(new EntityFrameworkUnitOfWork(this, contextFactory, options));
 }
Beispiel #2
0
        public NativeUnitOfWork(IUnitOfWorkProvider provider, Func <IDbConnection> connectionFactory, DbConnectionOption options)
        {
            if (options == DbConnectionOption.ReuseParentConnection)
            {
                if (provider.GetCurrent() is NativeUnitOfWork parentUow)
                {
                    Transaction = parentUow.Transaction;
                    return;
                }
            }

            Connection = connectionFactory();
            Connection.Open();
            Transaction       = Connection.BeginTransaction();
            _hasOwnConnection = true;
        }
Beispiel #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="EntityFrameworkUnitOfWork"/> class.
        /// </summary>
        public EntityFrameworkUnitOfWork(IUnitOfWorkProvider provider, Func <DbContext> dbContextFactory, DbConnectionOption options)
        {
            if (options == DbConnectionOption.ReuseParentConnection)
            {
                if (provider.GetCurrent() is EntityFrameworkUnitOfWork parentUow)
                {
                    Context = parentUow.Context;
                    return;
                }
            }

            Context        = dbContextFactory();
            _hasOwnContext = true;
        }
Beispiel #4
0
 /// <summary>
 /// Creates the unit of work.
 /// </summary>
 protected virtual NativeUnitOfWork CreateUnitOfWork(Func <IDbConnection> connectionFactory, DbConnectionOption options)
 {
     return(new NativeUnitOfWork(this, connectionFactory, options));
 }