Example #1
0
        public MongoMetadata(string connectionString, MongoConfiguration.Metadata metadata = null)
        {
            this.connectionString = connectionString;
            this.Configuration = metadata ?? MongoConfiguration.Metadata.Default;
            lock (MetadataCache)
            {
                MongoMetadataCache metadataCache;
                MetadataCache.TryGetValue(this.connectionString, out metadataCache);
                if (metadataCache == null)
                {
                    metadataCache = new MongoMetadataCache
                                        {
                                            DspMetadata = new DSPMetadata(ContainerName, RootNamespace),
                                            ProviderTypes = new Dictionary<string, Type>()
                                        };
                    MetadataCache.Add(this.connectionString, metadataCache);
                }
                this.dspMetadata = metadataCache.DspMetadata;
                this.providerTypes = metadataCache.ProviderTypes;
            }

            using (var context = new MongoContext(connectionString))
            {
                PopulateMetadata(context);
            }
        }
Example #2
0
        private MongoMetadataCache GetOrCreateMetadataCache()
        {
            MongoMetadataCache metadataCache;

            MetadataCache.TryGetValue(this.connectionString, out metadataCache);
            if (metadataCache == null)
            {
                metadataCache = new MongoMetadataCache(ContainerName, RootNamespace);
                MetadataCache.Add(this.connectionString, metadataCache);
            }
            return(metadataCache);
        }
Example #3
0
        public MongoMetadata(string connectionString, MongoConfiguration.Metadata metadata = null)
        {
            _connectionString = connectionString;
            this.Configuration = metadata ?? MongoConfiguration.Metadata.Default;

            lock (s_metadataCache)
            {
                _instanceMetadataCache = GetOrCreateMetadataCache();
            }

            var context = new MongoContext(connectionString);
            PopulateMetadata(context);
        }
Example #4
0
        public MongoMetadata(string connectionString, MongoConfiguration.Metadata metadata = null)
        {
            this.connectionString = connectionString;
            this.Configuration    = metadata ?? MongoConfiguration.Metadata.Default;

            lock (MetadataCache)
            {
                this.instanceMetadataCache = GetOrCreateMetadataCache();
            }

            using (var context = new MongoContext(connectionString))
            {
                PopulateMetadata(context);
            }
        }
Example #5
0
 private MongoMetadataCache GetOrCreateMetadataCache()
 {
     MongoMetadataCache metadataCache;
     s_metadataCache.TryGetValue(_connectionString, out metadataCache);
     if (metadataCache == null)
     {
         metadataCache = new MongoMetadataCache(ContainerName, RootNamespace);
         s_metadataCache.Add(_connectionString, metadataCache);
     }
     return metadataCache;
 }