Пример #1
0
        public static void Main(string[] args)
        {
            // 1. Create databases.
            var mongodbDatabase = new MongodbDatabase("mongodb://admin(admin):adminpwd0375@localhost:27017/local");
            var mysqlDatabase   = new AdoNetDatabase("server=.\\SQLEXPRESS; Database=UniformTest; Trusted_Connection=yes;", SqlServerDialect.Provider);

            // 2. Create database metadata
            var database = UniformDatabase.Create(config => config
                                                  .RegisterDocument <CommentDocument>()
                                                  .RegisterDocument <UserDocument>()
                                                  .RegisterDocument <QuestionDocument>()
                                                  .RegisterDocument <VoteDocument>()
                                                  .RegisterDatabase(SampleDatabases.Mongodb, mongodbDatabase)
                                                  .RegisterDatabase(SampleDatabases.Sql, mysqlDatabase)
                                                  );

            var mydb = new MyDatabase(database);

            database.EnterInMemoryMode();
            mydb.Comments.Save("asdfasdkhafhasldfh", c => { });

            // 3. Optional.
            RunViewModelRegeneration(database);

            var stopwatch = Stopwatch.StartNew();

            database.LeaveInMemoryMode(true);
            stopwatch.Stop();
            Console.WriteLine("Flushed in {0:n0} ms", stopwatch.ElapsedMilliseconds);
            Console.ReadKey();
        }
Пример #2
0
        public void ConfigureUniform(IContainer container)
        {
            var settings = container.GetInstance <SiteSettings>();

            // 1. Create databases
            var mongodbDatabase = new MongodbDatabase(settings.MongoViewConnectionString);

            // 2. Configure uniform
            var uniform = UniformDatabase.Create(config => config
                                                 .RegisterDocuments(typeof(UserView).Assembly)
                                                 .RegisterDatabase(ViewDatabases.Mongodb, mongodbDatabase));

            container.Configure(config => config.For <UniformDatabase>().Singleton().Use(uniform));
        }
Пример #3
0
        public void UserState()
        {
            var db      = new InMemoryDatabase();
            var uniform = UniformDatabase.Create(config => config
                                                 .RegisterDocuments(typeof(UserView).Assembly)
                                                 .RegisterDatabase(ViewDatabases.Mongodb, db));
            var viewDb = new ViewDatabase(uniform);

            viewDb.Users.Save(new UserView()
            {
                Id       = "me1",
                UserName = "******"
            });
            var storedUser = db.GetCollection <UserView>(ViewCollections.Users).GetById("me1");

            Assert.AreEqual("me1", storedUser.Id);
            Assert.AreEqual("User Name", storedUser.UserName);
        }
Пример #4
0
        public void SetUp()
        {
            IContainer container = ObjectFactory.Container;

            Table = new GameTableAggregate();
            Table.Setup(new GameTableState(), 0);

            var db      = new InMemoryDatabase();
            var uniform = UniformDatabase.Create(config => config
                                                 .RegisterDocuments(typeof(UserView).Assembly)
                                                 .RegisterDatabase(ViewDatabases.Mongodb, db));

            View = new ViewDatabase(uniform);
            container.Configure(x => x.For <ViewDatabase>().Use(View));

            Dispatcher = Dispatcher.Create(d => d
                                           .AddHandlers(typeof(UserView).Assembly, new[] { "Poker.Handlers.ViewHandlers", "Poker.Handlers.ViewHandlers" })
                                           .SetServiceLocator(new StructureMapServiceLocator(container)));
        }