/// <summary> /// This method sets the Json serializer as the primary transform mechanism. /// </summary> /// <param name="entityName"></param> /// <param name="versionPolicy"></param> /// <param name="keyMaker"></param> /// <param name="persistenceEntitySerializer"></param> /// <param name="cachingEntitySerializer"></param> /// <param name="keySerializer"></param> /// <param name="keyDeserializer"></param> /// <param name="referenceMaker"></param> /// <param name="referenceHashMaker"></param> /// <returns></returns> protected override EntityTransformHolder <K, E> EntityTransformCreate( string entityName = null , VersionPolicy <E> versionPolicy = null , Func <E, K> keyMaker = null , EntitySerializer <E> persistenceEntitySerializer = null , EntitySerializer <E> cachingEntitySerializer = null , Func <K, string> keySerializer = null , Func <string, K> keyDeserializer = null , Func <E, IEnumerable <Tuple <string, string> > > referenceMaker = null , Func <Tuple <string, string>, string> referenceHashMaker = null) { var transform = base.EntityTransformCreate( entityName, versionPolicy, keyMaker , persistenceEntitySerializer, cachingEntitySerializer , keySerializer, keyDeserializer, referenceMaker, referenceHashMaker); // Use Json for both persistence and caching serialization transform.PersistenceEntitySerializer = transform.CacheEntitySerializer = new EntitySerializer <E>(transform.JsonSerialize, transform.JsonDeserialize); return(transform); }