public bool Commit() { _committed = true; var end = DateTime.Now; _log.Debug($"Pseudo Transaction COMMIT at {end} elapsed time {end.Subtract(_trxStarted).TotalMilliseconds}ms for {_id} [{_recordCount} records]"); Parallel.ForEach(_index.Keys, (recordName) => { var outWriter = _inst[recordName]; using (var session = MongoDBOutFactory.Client.StartSession()) { var writeStart = DateTime.Now; using (var view = _cache.ReadOnlyView()) outWriter.write(session, new BsonCacheEnumerable(_index[recordName], view)); _log.Trace($"{recordName} records written in {DateTime.Now.Subtract(writeStart).TotalMilliseconds}ms "); } }); return(true); }