/// <summary> /// Construtor padrão. /// </summary> /// <param name="databaseExecuter">Executor do banco de dados.</param> /// <param name="cacheExecuter">Executor do cache.</param> /// <param name="cacheProvider"></param> /// <param name="typeSchema"></param> /// <param name="recordKeyFactory"></param> public DynamicPersistenceExecuter(IPersistenceExecuter databaseExecuter, IPersistenceExecuter cacheExecuter, Colosoft.Caching.ICacheProvider cacheProvider, Colosoft.Data.Schema.ITypeSchema typeSchema, Query.IRecordKeyFactory recordKeyFactory) { _databaseExecuter = databaseExecuter; _cacheExecuter = cacheExecuter; _cacheProvider = cacheProvider; _typeSchema = typeSchema; _actionResultProcessor = new Schema.PersistenceActionResultProcessor(typeSchema, recordKeyFactory); }
/// <summary> /// Cria o executar da sessão. /// </summary> /// <returns></returns> public IPersistenceExecuter CreateExecuter() { Colosoft.Caching.ICacheProvider cacheProvider = null; var session2 = _cacheSession as Colosoft.Caching.CachePersistenceSession; if (session2 != null) { cacheProvider = session2.CacheProvider; } return(new DynamicPersistenceExecuter(_defaultExecuterCreator(), ((IPersistenceExecuterFactory)_cacheSession).CreateExecuter(), cacheProvider, _typeSchema, _recordKeyFactory)); }