コード例 #1
0
ファイル: TestAll.cs プロジェクト: ephebe/MyNCommon
        public void TestAddChild()
        {
            IStore store = new ThreadStaticStore();
            IDbContextFactory contextFactory = new DbContextFactory();

            using (UnitOfWork unitwork = new UnitOfWork(store, contextFactory))
            {
                IRepository<Demo, Guid> demoRepository = new Repository<Demo, Guid>(store);
                IRepository<DemoChild, Guid> demoChildRepository = new Repository<DemoChild, Guid>(store);
                IRepository<DemoBrother, Guid> demoBrotherRepository = new Repository<DemoBrother, Guid>(store);
                Demo demo = new Demo()
                {
                    Name = "C"
                };

                DemoChild child = new DemoChild();
                demo.Children.Add(child);

                DemoBrother brother = new DemoBrother();
                demo.Brothers.Add(brother);

                demoRepository.SaveOrUpdate(demo);
                demoChildRepository.SaveOrUpdate(child);
                demoBrotherRepository.SaveOrUpdate(brother);

                unitwork.SaveChanges();
            }
        }
コード例 #2
0
ファイル: TestAll.cs プロジェクト: ephebe/MyNCommon
        public void TestData()
        {
            IStore store = new ThreadStaticStore();
            IDbContextFactory contextFactory = new DbContextFactory();

            using (UnitOfWork unitwork = new UnitOfWork(store, contextFactory))
            {
                IRepository<Demo,Guid> demoRepository = new Repository<Demo,Guid>(store);
                Demo demo = new Demo() { Name = "B"};
                demoRepository.SaveOrUpdate(demo);
                unitwork.SaveChanges();
            }
        }
コード例 #3
0
ファイル: TestIOC.cs プロジェクト: ephebe/MyNCommon
        public void TestData()
        {
            using (UnitOfWork unitwork = ServiceLocator.Current.GetInstance<UnitOfWork>())
            {
                IRepository<Demo,Guid> demoRepository = ServiceLocator.Current.GetInstance<IRepository<Demo,Guid>>();

                Demo demo = new Demo()
                {
                    Name = "C"
                };
                demoRepository.SaveOrUpdate(demo);

                unitwork.SaveChanges();
            }
        }
コード例 #4
0
ファイル: TestIOC.cs プロジェクト: ephebe/MyNCommon
        public void TestEvent()
        {
            IEventHandlesRegistry eventHandlesRegistry = new UnityHandlesRegistry(container);
            eventHandlesRegistry.Register<DemoAddEvent, HandleDemoAdd>();

            using (UnitOfWork unitwork = ServiceLocator.Current.GetInstance<UnitOfWork>())
            {
                IRepository<Demo,Guid> demoRepository = ServiceLocator.Current.GetInstance<IRepository<Demo,Guid>>();

                Demo demo = new Demo()
                {
                    Name = "D"
                };
                demoRepository.SaveOrUpdate(demo);

                DomainEvent<DemoAddEvent> demoAddEvent = new DomainEvent<DemoAddEvent>(eventHandlesRegistry);
                demoAddEvent.Raise(new DemoAddEvent(demo.Id));

                unitwork.SaveChanges();
            }
        }
コード例 #5
0
ファイル: TestAll.cs プロジェクト: ephebe/MyNCommon
        public void TestStore()
        {
            ThreadStaticStore store = new ThreadStaticStore();
            Demo demo = new Demo();

            store.Put("1", demo);

            Assert.AreEqual(demo, store.Get<Demo>("1"));
        }