/// <summary> /// Creates the unit of work. /// </summary> protected virtual EntityFrameworkUnitOfWork CreateUnitOfWork(Func <DbContext> contextFactory, DbConnectionOption options) { return(new EntityFrameworkUnitOfWork(this, contextFactory, options)); }
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; }
/// <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; }
/// <summary> /// Creates the unit of work. /// </summary> protected virtual NativeUnitOfWork CreateUnitOfWork(Func <IDbConnection> connectionFactory, DbConnectionOption options) { return(new NativeUnitOfWork(this, connectionFactory, options)); }