Пример #1
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     ctx            = new MongoContext("mongodb://localhost:27017/searchathing_patterns_mongodbwpf");
     contacts       = ctx.GetRepository <Contact>();
     obc            = new ObservableCollection <Contact>(contacts.Collection.AsQueryable());
     dg.ItemsSource = obc;
 }
            public ITypedMongoRepository <T> GetRepository <T>() where T : MongoEntity
            {
                var type = typeof(T);

                ITypedMongoRepository <T> typedRepoObj = null;
                IGenericMongoRepository   repoObj      = null;

                lock (repositoryFactoryLck)
                {
                    if (!repositoryFactory.TryGetValue(type, out repoObj))
                    {
                        typedRepoObj = new MongoRepository <T>(Database.GetCollection <T>(type.Name.ToLowerInvariant()));
                        repositoryFactory.Add(type, typedRepoObj);
                    }
                    else
                    {
                        typedRepoObj = (ITypedMongoRepository <T>)repoObj;
                    }
                }

                return(typedRepoObj);
            }