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)); }
public BlockchainInfoRepository(OwnDb db) { _db = db ?? throw new ArgumentNullException(nameof(db)); }
public UnitOfWork(OwnDb db, UnitOfWorkMode mode) { Db = db ?? throw new ArgumentNullException(nameof(db)); _mode = mode; }