/// <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);
 }
示例#2
0
        /// <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));
        }