コード例 #1
0
        public ILoadEntityDatabasePipeline CreateJsonLoadPipeline(IDependencyContainer container)
        {
            // Manually build deserializer as we want to load everything
            var mappingRegistry       = new MappingRegistry(container.Resolve <EverythingTypeMapper>());
            var typeCreator           = container.Resolve <ITypeCreator>();
            var primitiveTypeMappings = container.ResolveAll <IJsonPrimitiveHandler>();

            // Create deserializer for everything
            var everythingDeserializer = new JsonDeserializer(mappingRegistry, typeCreator, primitiveTypeMappings);

            // Use existing load pipeline helper to customize format and filename
            return(PersistityModule.CreateLoadPipeline(container, everythingDeserializer, CustomEntityDatabaseFile));
        }
コード例 #2
0
        public ISaveEntityDatabasePipeline CreateJsonSavePipeline(IDependencyContainer container)
        {
            // We manually create our serializer here as we dont want the default behaviour which
            // which would be to only persist things with `[Persist]` and `[PersistData]` attributes
            // we want to persist EVERYTHING
            var mappingRegistry       = new MappingRegistry(container.Resolve <EverythingTypeMapper>());
            var primitiveTypeMappings = container.ResolveAll <IJsonPrimitiveHandler>();

            // Create the serializer to serialize everything
            var everythingSerializer = new JsonSerializer(mappingRegistry, primitiveTypeMappings);

            // Piggyback off the existing save pipeline helper, which lets you set your format and filename
            return(PersistityModule.CreateSavePipeline(container, everythingSerializer, CustomEntityDatabaseFile));
        }