public virtual void Delete(TEntity entity) { object id = GetId(entity); logger.DebugFormat("Deleting #{0}", id); FileSystem.Delete <TEntity>(id); Cache.Remove(GetId(entity)); Cache.Clear(entityCache: false, queryCache: true); SecondLevelCache.Clear(entityCache: false, queryCache: true); }
public virtual void SaveOrUpdate(TEntity entity) { var id = GetOrAssignId(entity); string xml = Serialize(entity); logger.DebugFormat("Writing #{0} with xml {1}", id, string.IsNullOrEmpty(xml) ? "(empty)" : xml.Length.ToString()); FileSystem.Write <TEntity>(id, xml); Cache.Set(id, entity); Cache.Clear(entityCache: false, queryCache: true); SecondLevelCache.Clear(entityCache: false, queryCache: true); }