public NewtonsoftDocumentSerializer(IRelationalStoreConfiguration configuration) { var contractResolver = new RelationalJsonContractResolver(configuration); SerializerSettings = new JsonSerializerSettings { ContractResolver = contractResolver, TypeNameHandling = TypeNameHandling.Auto, TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple, }; SerializerSettings.Converters.Add(new StringEnumConverter()); EncodingForCompressedText = new UnicodeEncoding(false, false); CompressionLevel = CompressionLevel.Optimal; }
RelationalStore BuildRelationalStore(string connectionString, double chaosFactor = 0.2D) { var sqlCommandFactory = chaosFactor > 0D ? (ISqlCommandFactory) new ChaosSqlCommandFactory(new SqlCommandFactory(), chaosFactor) : new SqlCommandFactory(); var contractResolver = new RelationalJsonContractResolver(Mappings); var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = contractResolver, TypeNameHandling = TypeNameHandling.Auto, TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple }; jsonSerializerSettings.Converters.Add(new ProductConverter(Mappings)); jsonSerializerSettings.Converters.Add(new BrandConverter(Mappings)); jsonSerializerSettings.Converters.Add(new EndpointConverter()); return(new RelationalStore(connectionString ?? TestDatabaseConnectionString, TestDatabaseName, sqlCommandFactory, Mappings, jsonSerializerSettings, new EmptyRelatedDocumentStore())); }