示例#1
0
 public EfCoreRillStore(
     DbContextOptions <RillDbContext> options,
     IEventContentSerializer?eventSerializer = default,
     IEventContentTypeResolver?typeResolver  = default)
 {
     //https://docs.microsoft.com/en-us/ef/core/dbcontext-configuration/#simple-dbcontext-initialization-with-new
     _options = options;
     _eventContentSerializer   = eventSerializer ?? new JsonEventContentSerializer();
     _eventContentTypeResolver = typeResolver ?? new DefaultEventContentTypeResolver();
 }
示例#2
0
        internal Event ToEvent(IEventContentTypeResolver eventContentTypeResolver, IEventContentSerializer contentSerializer)
        {
            var ct = new EventContentType(TypeAssemblyName, TypeNamespace, TypeName);
            var t  = eventContentTypeResolver.Resolve(ct);

            return(Event.From(
                       EventId.From(Id),
                       Rill.Sequence.From(Sequence),
                       Rill.Timestamp.From(Timestamp.UtcDateTime),
                       contentSerializer.Deserialize(Content, t)));
        }