public override void UpdatePublishedVersion(EventPublishedVersionData versionData)
        {
            base.UpdatePublishedVersion(versionData);

            using (var context = _contextFactory.CreateDataContext()) {
                context.Update(versionData);
                context.Commit();
            }
        }
        public override void WriteFirstVersion(EventPublishedVersionData versionData)
        {
            base.WriteFirstVersion(versionData);

            using (var context = _contextFactory.CreateDataContext()) {
                var created = context.CreateQuery <EventPublishedVersionData>()
                              .Any(p => p.AggregateRootId == versionData.AggregateRootId &&
                                   p.AggregateRootTypeCode == versionData.AggregateRootTypeCode);

                if (!created)
                {
                    context.Save(versionData);
                    context.Commit();
                }
            }
        }