public void Add(TAggregate aggregate) { if (aggregate.Id == Guid.Empty) { throw new ArgumentException("Aggregate Must Have Id: ", nameof(aggregate)); } var collection = GetDtoCollection(); var dto = new Dto(); dto.SetNewVersion(aggregate); collection.InsertOne(dto); }