public void It_creates_unique_query_cache_key()
        {
            object key1, key2;
            Expression query;
            using (var context1 = new QueryKeyCacheContext(rowNumberPaging: true))
            {
                var services = ((IAccessor<IServiceProvider>)context1).Service.GetService<IDbContextServices>().DatabaseProviderServices;
                query = context1.Set<Poco1>().Skip(4).Take(10).Expression;
                var generator = services.CompiledQueryCacheKeyGenerator;
                key1 = generator.GenerateCacheKey(query, false);
            }

            using (var context2 = new QueryKeyCacheContext(rowNumberPaging: false))
            {
                var services = ((IAccessor<IServiceProvider>)context2).Service.GetService<IDbContextServices>().DatabaseProviderServices;
                var generator = services.CompiledQueryCacheKeyGenerator;
                key2 = generator.GenerateCacheKey(query, false);
            }

            Assert.NotEqual(key1, key2);
        }
예제 #2
0
        public void It_creates_unique_query_cache_key()
        {
            using (var testStore = SqlServerTestStore.Create(nameof(CompiledQueryCacheKeyGeneratorTest)))
            {
                object     key1, key2;
                Expression query;
                using (var context1 = new QueryKeyCacheContext(rowNumberPaging: true, connection: testStore.Connection))
                {
                    var generator = context1.GetService <ICompiledQueryCacheKeyGenerator>();
                    query = context1.Set <Poco1>().Skip(4).Take(10).Expression;
                    key1  = generator.GenerateCacheKey(query, false);
                }

                using (var context2 = new QueryKeyCacheContext(rowNumberPaging: false, connection: testStore.Connection))
                {
                    var generator = context2.GetService <ICompiledQueryCacheKeyGenerator>();
                    key2 = generator.GenerateCacheKey(query, false);
                }

                Assert.NotEqual(key1, key2);
            }
        }
        public void It_creates_unique_query_cache_key()
        {
            object     key1, key2;
            Expression query;

            using (var context1 = new QueryKeyCacheContext(rowNumberPaging: true))
            {
                var services = ((IInfrastructure <IServiceProvider>)context1).Instance.GetService <IDbContextServices>().DatabaseProviderServices;
                query = context1.Set <Poco1>().Skip(4).Take(10).Expression;
                var generator = services.CompiledQueryCacheKeyGenerator;
                key1 = generator.GenerateCacheKey(query, false);
            }

            using (var context2 = new QueryKeyCacheContext(rowNumberPaging: false))
            {
                var services  = ((IInfrastructure <IServiceProvider>)context2).Instance.GetService <IDbContextServices>().DatabaseProviderServices;
                var generator = services.CompiledQueryCacheKeyGenerator;
                key2 = generator.GenerateCacheKey(query, false);
            }

            Assert.NotEqual(key1, key2);
        }
        public void It_creates_unique_query_cache_key()
        {
            using (var testStore = SqlServerTestStore.CreateScratch())
            {
                object key1, key2;
                Expression query;
                using (var context1 = new QueryKeyCacheContext(rowNumberPaging: true, connection: testStore.Connection))
                {
                    var services = ((IInfrastructure<IServiceProvider>)context1).Instance.GetService<IDbContextServices>().DatabaseProviderServices;
                    query = context1.Set<Poco1>().Skip(4).Take(10).Expression;
                    var generator = services.CompiledQueryCacheKeyGenerator;
                    key1 = generator.GenerateCacheKey(query, false);
                }

                using (var context2 = new QueryKeyCacheContext(rowNumberPaging: false, connection: testStore.Connection))
                {
                    var services = ((IInfrastructure<IServiceProvider>)context2).Instance.GetService<IDbContextServices>().DatabaseProviderServices;
                    var generator = services.CompiledQueryCacheKeyGenerator;
                    key2 = generator.GenerateCacheKey(query, false);
                }

                Assert.NotEqual(key1, key2);
            }
        }