protected override void Initialize()
        {
            var ste1 = new StrTestEntity {
                Str = "Str1"
            };
            var ste2 = new StrTestEntity {
                Str = "Str2"
            };
            var mtocte1 = new ManyToOneComponentTestEntity {
                Comp1 = new ManyToOneComponent {
                    Data = "data1", Entity = ste1
                }
            };

            using (var tx = Session.BeginTransaction())
            {
                ste_id1 = (int)Session.Save(ste1);
                ste_id2 = (int)Session.Save(ste2);
                tx.Commit();
            }
            using (var tx = Session.BeginTransaction())
            {
                mtocte_id1 = (int)Session.Save(mtocte1);
                tx.Commit();
            }
            using (var tx = Session.BeginTransaction())
            {
                mtocte1.Comp1.Entity = ste2;
                tx.Commit();
            }
        }
        public void VerifyHistory()
        {
            var ste1 = Session.Get <StrTestEntity>(ste_id1);
            var ste2 = Session.Get <StrTestEntity>(ste_id2);

            var ver2 = new ManyToOneComponentTestEntity {
                Id = mtocte_id1, Comp1 = new ManyToOneComponent {
                    Entity = ste1, Data = "data1"
                }
            };
            var ver3 = new ManyToOneComponentTestEntity {
                Id = mtocte_id1, Comp1 = new ManyToOneComponent {
                    Entity = ste2, Data = "data1"
                }
            };

            Assert.IsNull(AuditReader().Find <ManyToOneComponentTestEntity>(mtocte_id1, 1));
            Assert.AreEqual(ver2, AuditReader().Find <ManyToOneComponentTestEntity>(mtocte_id1, 2));
            Assert.AreEqual(ver3, AuditReader().Find <ManyToOneComponentTestEntity>(mtocte_id1, 3));
        }
        protected override void Initialize()
        {
            var ste1 = new StrTestEntity {
                Str = "str1"
            };
            var ste2 = new StrTestEntity {
                Str = "str2"
            };

            // Revision 1
            using (var tx = Session.BeginTransaction())
            {
                Session.Save(ste1);
                Session.Save(ste2);
                tx.Commit();
            }

            var mtocte1 = new ManyToOneComponentTestEntity {
                Comp1 = new ManyToOneComponent {
                    Data = "data1", Entity = ste1
                }
            };

            //revision 2
            using (var tx = Session.BeginTransaction())
            {
                id = (int)Session.Save(mtocte1);
                tx.Commit();
            }

            // Revision 3
            using (var tx = Session.BeginTransaction())
            {
                mtocte1.Comp1.Entity = ste2;
                tx.Commit();
            }
        }