Пример #1
0
        private void DropInMemory(TestDbContextCache <TContext> cache, string instanceName)
        {
            if (cache.ContainsKey(instanceName))
            {
                _logger.LogInformation($"Dropping in-memory history instance {instanceName} for {typeof(TContext).Name}");
                var context = cache[instanceName];
                TestDbContextManager <TContext> .DropInMemoryDatabase(context);

                cache.Remove(instanceName);
            }
        }
Пример #2
0
        private void GetOrAddInMemoryDatabase(TRepo repo, TestDbContextCache <TContext> cache,
                                              string instanceName, string baseDatabaseName)
        {
            if (cache.ContainsKey(instanceName))
            {
                repo.Context = cache[instanceName];
                _logger.LogInformation($"Using existing in-memory database {baseDatabaseName}, instance = {instanceName}");
            }
            else
            {
                _logger.LogInformation($"Creating in-memory database {baseDatabaseName}, instance = {instanceName}");
                var dbContext = TestDbContextManager <TContext> .CreateInMemoryDatabase(baseDatabaseName, instanceName);

                repo.Context = dbContext;
                repo.Context.Database.EnsureCreated();
                cache.Add(instanceName, repo.Context);
            }
        }