Exemple #1
0
        private void GetCachedData()
        {
            Console.WriteLine("Get Categories");

            var user     = Thread.CurrentPrincipal.Identity.Name;
            var entities = Cache.Get(user);

            if (entities != null)
            {
                Entities = entities;
            }
            Console.WriteLine("From DB");
        }
Exemple #2
0
        public IEnumerable <TEntity> GetEntities()
        {
            Console.WriteLine("Get " + typeof(TEntity).Name);

            var user     = Thread.CurrentPrincipal.Identity.Name;
            var entities = cache.Get(user);

            if (entities == null)
            {
                Console.WriteLine("From DB");

                using (var dbContext = GetContext())
                {
                    entities = dbContext.Set <TEntity>().ToList();
                    cache.Set(user, entities);
                }
            }

            return(entities);
        }
        public IEnumerable <T> GetEntities <T>() where T : class
        {
            Console.WriteLine($"Getting {typeof(T)}.");

            var user     = Thread.CurrentPrincipal.Identity.Name;
            var entities = cache.Get <T>(user);

            if (entities == null)
            {
                Console.WriteLine("From DB");

                using (var dbContext = new Northwind()) {
                    dbContext.Configuration.LazyLoadingEnabled   = false;
                    dbContext.Configuration.ProxyCreationEnabled = false;
                    entities = dbContext.Set <T>().ToList();
                    cache.Set(user, entities);
                }
            }

            return(entities);
        }
        public IEnumerable <T> GetEntities()
        {
            Console.WriteLine("Get Entities");

            var cacheKey = Thread.CurrentPrincipal.Identity.Name + " " + typeof(T);
            var entities = cache.Get(cacheKey);

            if (entities == null)
            {
                Console.WriteLine("From DB");

                using (var dbContext = new Northwind())
                {
                    dbContext.Configuration.LazyLoadingEnabled   = false;
                    dbContext.Configuration.ProxyCreationEnabled = false;
                    entities = dbContext.Set <T>().ToList();
                    cache.Set(cacheKey, entities, DateTimeOffset.Now.AddMilliseconds(300));
                }
            }

            return(entities);
        }