Example #1
0
        public void ReferenceTest()
        {
            using (var container = new RhetosTestContainer())
            {
                var repositories = container.Resolve <GenericRepositories>();
                repositories.Delete(repositories.Load <TestPolymorphic.ChildA>());
                repositories.Delete(repositories.Load <TestPolymorphic.ChildB>());
                repositories.Delete(repositories.Load <TestPolymorphic.Parent>());

                var p1 = new TestPolymorphic.Parent {
                    ID = Guid.NewGuid(), Name = "p1"
                };
                var ca1 = new TestPolymorphic.ChildA {
                    ID = Guid.NewGuid(), Name = "ca1", ParentID = p1.ID
                };
                var cb1 = new TestPolymorphic.ChildB {
                    ID = Guid.NewGuid(), Name = "cb1", ManualParentID = p1.ID
                };

                repositories.Insert(p1);
                repositories.Insert(ca1);
                repositories.Insert(cb1);

                Assert.AreEqual("ca1 p1, cb1 p1", TestUtility.DumpSorted(
                                    repositories.Query <Common.Queryable.TestPolymorphic_Child>().Select(c => c.Name + " " + c.Parent.Name)));
            }
        }
Example #2
0
        public void ReferenceTest()
        {
            using (var container = new RhetosTestContainer())
            {
                var repositories = container.Resolve<GenericRepositories>();
                repositories.Delete(repositories.Load<TestPolymorphic.ChildA>());
                repositories.Delete(repositories.Load<TestPolymorphic.ChildB>());
                repositories.Delete(repositories.Load<TestPolymorphic.Parent>());

                var p1 = new TestPolymorphic.Parent { ID = Guid.NewGuid(), Name = "p1" };
                var ca1 = new TestPolymorphic.ChildA { ID = Guid.NewGuid(), Name = "ca1", ParentID = p1.ID };
                var cb1 = new TestPolymorphic.ChildB { ID = Guid.NewGuid(), Name = "cb1", ManualParentID = p1.ID };

                repositories.Insert(p1);
                repositories.Insert(ca1);
                repositories.Insert(cb1);

                Assert.AreEqual("ca1 p1, cb1 p1", TestUtility.DumpSorted(
                    repositories.Query<Common.Queryable.TestPolymorphic_Child>().Select(c => c.Name + " " + c.Parent.Name)));
            }
        }