public EntityTransformHolder(bool jsonMode = false) { if (jsonMode) { PersistenceEntitySerializer = new EntitySerializer <E>(JsonSerialize, JsonDeserialize); } // Set sensible defaults CacheEntitySerializer = new EntitySerializer <E>(JsonSerialize, JsonDeserialize); EntityName = typeof(E).Name.ToLowerInvariant(); ReferenceHashMaker = t => $"{t.Item1.ToLowerInvariant()}.{t.Item2.ToLowerInvariant()}"; // Handle the most common key types of string and guid for deserializing the key from string KeySerializer = k => k.ToString(); if (typeof(K) == typeof(string)) { KeyDeserializer = s => (K)(object)(s); } else if (typeof(K) == typeof(Guid)) { KeyDeserializer = s => (K)(object)Guid.Parse(s); } SearchTranslator = new SearchExpressionHelper <E>(); }
protected override void StopInternal() { base.StopInternal(); mPolicy.ResourceConsumer = null; mExpressionHelper = null; }