Example #1
0
        public IUnitOfWork Create(UnitOfWorkMode mode = UnitOfWorkMode.ReadOnly)
        {
            var options = new DbContextOptionsBuilder()
#if DEBUG
                          .UseLoggerFactory(LoggerFactory)
                          .EnableSensitiveDataLogging()
#endif
                          .UseNpgsql(Config.DB)
                          .Options;

            var db = new OwnDb(options);

            db.ChangeTracker.LazyLoadingEnabled = false;

            if (mode == UnitOfWorkMode.ReadOnly)
            {
                db.ChangeTracker.AutoDetectChangesEnabled = false;
                //db.Configuration.ProxyCreationEnabled = false;
            }

            return(new UnitOfWork(db, mode));
        }
Example #2
0
 public BlockchainInfoRepository(OwnDb db)
 {
     _db = db ?? throw new ArgumentNullException(nameof(db));
 }
Example #3
0
 public UnitOfWork(OwnDb db, UnitOfWorkMode mode)
 {
     Db    = db ?? throw new ArgumentNullException(nameof(db));
     _mode = mode;
 }