Пример #1
0
        public void Fetch()
        {
            var eb1 = new EntityBX();

            TestBase.TestSerialization(eb1);

            var eb2 = new EntityBX {
                A = new EntityAX()
            };

            TestBase.TestSerialization(eb2);

            var eb21 = new EntityB2X();

            TestBase.TestSerialization(eb21);

            var eb22 = new EntityB2X {
                A = new EntityA2X()
            };

            TestBase.TestSerialization(eb22);

            using (var em = Emf.CreateEntityManager())
            {
                em.Persist(eb1);
                em.Persist(eb2);
                em.Persist(eb21);
                em.Persist(eb22);
            }

            using (var em = Emf.CreateEntityManager())
            {
                var _ea = em.Fetch <EntityAX>();
                Assert.IsNotNull(_ea);
                ISet <EntityAX> sax = new HashSet <EntityAX>(_ea.ToList());
                Assert.AreEqual(2, sax.Count);
                Assert.IsTrue(sax.Contains(eb2.A));
                Assert.IsTrue(sax.Contains(eb22.A));
                {
                    var _eb = em.Fetch <EntityBX>();
                    Assert.IsNotNull(_eb);
                    ISet <EntityBX> sbx = new HashSet <EntityBX>(_eb.ToList());
                    Assert.AreEqual(4, sbx.Count);
                    Assert.IsTrue(sbx.Contains(eb1));
                    Assert.IsTrue(sbx.Contains(eb2));
                    Assert.IsTrue(sbx.Contains(eb21));
                    Assert.IsTrue(sbx.Contains(eb22));
                }

                {
                    var _eb = em.Fetch <EntityB2X>();
                    Assert.IsNotNull(_eb);
                    ISet <EntityB2X> sbx = new HashSet <EntityB2X>(_eb.ToList());
                    Assert.AreEqual(2, sbx.Count);
                    Assert.IsTrue(sbx.Contains(eb21));
                    Assert.IsTrue(sbx.Contains(eb22));
                }
            }
        }
Пример #2
0
        public void PersistAndFind()
        {
            var eb1 = new EntityBX();

            TestBase.TestSerialization(eb1);

            var eb2 = new EntityBX {
                A = new EntityAX()
            };

            TestBase.TestSerialization(eb2);

            using (var em = Emf.CreateEntityManager())
            {
                em.Persist(eb1);
                Assert.IsNotNull(eb1.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb1.Key.Row));
                Assert.AreEqual("b", eb1.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb1.Key.ColumnQualifier));

                em.Persist(eb2);
                Assert.IsNotNull(eb2.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb2.Key.Row));
                Assert.AreEqual("b", eb2.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb2.Key.ColumnQualifier));

                Assert.IsNotNull(eb2.A.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb2.A.Key.Row));
                Assert.AreEqual("a", eb2.A.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb2.A.Key.ColumnQualifier));
            }

            using (var em = Emf.CreateEntityManager())
            {
                var _eb1 = em.Find <EntityBX>(eb1.Key);
                Assert.AreEqual(eb1, _eb1);

                var _ea2 = em.Find <EntityAX>(eb2.A.Key);
                Assert.AreEqual(eb2.A, _ea2);

                var _eb2 = em.Find <EntityBX>(eb2.Key);
                Assert.AreEqual(eb2, _eb2);

                Assert.AreEqual(2, em.Fetch <EntityBX>().Count());
                Assert.AreEqual(1, em.Fetch <EntityAX>().Count());
                Assert.AreEqual(3, em.Fetch <EntityBaseX>().Count());
                Assert.AreEqual(2, em.Fetch <IEntityBx>().Count());
                Assert.AreEqual(3, em.Fetch <EntityBaseX>(new[] { typeof(EntityBX), typeof(EntityAX) }).Count());
            }

            var eb21 = new EntityB2X();

            TestBase.TestSerialization(eb21);

            var eb22 = new EntityB2X {
                A = new EntityA2X()
            };

            TestBase.TestSerialization(eb22);

            using (var em = Emf.CreateEntityManager())
            {
                em.Persist(eb21);
                Assert.IsNotNull(eb21.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb21.Key.Row));
                Assert.AreEqual("b", eb21.Key.ColumnFamily);
                Assert.AreEqual("bx", eb21.Key.ColumnQualifier);

                em.Persist(eb22);
                Assert.IsNotNull(eb22.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb22.Key.Row));
                Assert.AreEqual("b", eb22.Key.ColumnFamily);
                Assert.AreEqual("bx", eb22.Key.ColumnQualifier);

                Assert.IsNotNull(eb22.A.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb22.A.Key.Row));
                Assert.AreEqual("a", eb22.A.Key.ColumnFamily);
                Assert.AreEqual("a2x", eb22.A.Key.ColumnQualifier);
            }

            using (var em = Emf.CreateEntityManager())
            {
                var _eb21 = em.Find <EntityBX>(eb21.Key);
                Assert.IsInstanceOfType(_eb21, typeof(EntityB2X));
                Assert.AreEqual(eb21, _eb21);

                var _ea22 = em.Find <EntityAX>(eb22.A.Key);
                Assert.IsInstanceOfType(_ea22, typeof(EntityA2X));
                Assert.AreEqual(eb22.A, _ea22);

                var _eb22 = em.Find <EntityBX>(eb22.Key);
                Assert.IsInstanceOfType(_eb22, typeof(EntityB2X));
                Assert.AreEqual(eb22, _eb22);

                Assert.AreEqual(1, em.Fetch <EntityA2X>().Count());
                Assert.AreEqual(2, em.Fetch <EntityAX>().Count());
                Assert.AreEqual(2, em.Fetch <EntityB2X>().Count());
                Assert.AreEqual(4, em.Fetch <EntityBX>().Count());
                Assert.AreEqual(4, em.Fetch <IEntityBx>().Count());
                Assert.AreEqual(6, em.Fetch <EntityBaseX>().Count());
                Assert.AreEqual(6, em.Fetch <EntityBaseX>(new[] { typeof(EntityBX), typeof(EntityAX) }).Count());
            }
        }
        public void PersistAndFind()
        {
            var bindings = Emf.Configuration.Binding;
            Assert.IsFalse(bindings.StrictExplicitColumnBinding);
            Assert.IsFalse(bindings.StrictExplicitKeyBinding);
            Assert.IsFalse(bindings.StrictExplicitTableBinding);

            Assert.IsTrue(bindings.RegisterTableBinding(typeof(EntityBaseX), new TableBindingEntityBaseX()));
            Assert.IsTrue(bindings.RegisterColumnBinding(typeof(EntityAX), new ColumnBindingEntityAX()));
            Assert.IsTrue(bindings.RegisterColumnBinding(typeof(EntityA2X), new ColumnBindingEntityA2X()));
            Assert.IsTrue(bindings.RegisterColumnBinding(typeof(EntityBX), new ColumnBindingEntityBX()));
            Assert.IsTrue(bindings.RegisterColumnBinding(typeof(EntityB2X), new ColumnBindingEntityB2X()));

            var eb1 = new EntityBX();
            TestBase.TestSerialization(eb1);

            var eb2 = new EntityBX { A = new EntityAX() };
            TestBase.TestSerialization(eb2);

            using (var em = Emf.CreateEntityManager())
            {
                em.Configuration.Binding.StrictExplicitTableBinding = true;
                em.Configuration.Binding.StrictExplicitColumnBinding = true;

                em.Persist(eb1);
                Assert.IsNotNull(eb1.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb1.Key.Row));
                Assert.AreEqual("b", eb1.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb1.Key.ColumnQualifier));

                em.Persist(eb2);
                Assert.IsNotNull(eb2.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb2.Key.Row));
                Assert.AreEqual("b", eb2.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb2.Key.ColumnQualifier));

                Assert.IsNotNull(eb2.A.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb2.A.Key.Row));
                Assert.AreEqual("a", eb2.A.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb2.A.Key.ColumnQualifier));
            }

            using (var em = Emf.CreateEntityManager())
            {
                em.Configuration.Binding.StrictExplicitTableBinding = true;
                em.Configuration.Binding.StrictExplicitColumnBinding = true;

                var _eb1 = em.Find<EntityBX>(eb1.Key);
                Assert.AreEqual(eb1, _eb1);

                var _ea2 = em.Find<EntityAX>(eb2.A.Key);
                Assert.AreEqual(eb2.A, _ea2);

                var _eb2 = em.Find<EntityBX>(eb2.Key);
                Assert.AreEqual(eb2, _eb2);

                Assert.AreEqual(2, em.Fetch<EntityBX>().Count());
                Assert.AreEqual(1, em.Fetch<EntityAX>().Count());
                Assert.AreEqual(3, em.Fetch<EntityBaseX>().Count());
                Assert.AreEqual(2, em.Fetch<IEntityBx>().Count());
                Assert.AreEqual(3, em.Fetch<EntityBaseX>(new[] { typeof(EntityBX), typeof(EntityAX) }).Count());
            }

            var eb21 = new EntityB2X();
            TestBase.TestSerialization(eb21);

            var eb22 = new EntityB2X { A = new EntityA2X() };
            TestBase.TestSerialization(eb22);

            using (var em = Emf.CreateEntityManager())
            {
                em.Persist(eb21);
                Assert.IsNotNull(eb21.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb21.Key.Row));
                Assert.AreEqual("b", eb21.Key.ColumnFamily);
                Assert.AreEqual("bx", eb21.Key.ColumnQualifier);

                em.Persist(eb22);
                Assert.IsNotNull(eb22.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb22.Key.Row));
                Assert.AreEqual("b", eb22.Key.ColumnFamily);
                Assert.AreEqual("bx", eb22.Key.ColumnQualifier);

                Assert.IsNotNull(eb22.A.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb22.A.Key.Row));
                Assert.AreEqual("a", eb22.A.Key.ColumnFamily);
                Assert.AreEqual("a2x", eb22.A.Key.ColumnQualifier);
            }

            using (var em = Emf.CreateEntityManager())
            {
                var _eb21 = em.Find<EntityBX>(eb21.Key);
                Assert.IsInstanceOfType(_eb21, typeof(EntityB2X));
                Assert.AreEqual(eb21, _eb21);

                var _ea22 = em.Find<EntityAX>(eb22.A.Key);
                Assert.IsInstanceOfType(_ea22, typeof(EntityA2X));
                Assert.AreEqual(eb22.A, _ea22);

                var _eb22 = em.Find<EntityBX>(eb22.Key);
                Assert.IsInstanceOfType(_eb22, typeof(EntityB2X));
                Assert.AreEqual(eb22, _eb22);

                Assert.AreEqual(1, em.Fetch<EntityA2X>().Count());
                Assert.AreEqual(2, em.Fetch<EntityAX>().Count());
                Assert.AreEqual(2, em.Fetch<EntityB2X>().Count());
                Assert.AreEqual(4, em.Fetch<EntityBX>().Count());
                Assert.AreEqual(4, em.Fetch<IEntityBx>().Count());
                Assert.AreEqual(6, em.Fetch<EntityBaseX>().Count());
                Assert.AreEqual(6, em.Fetch<EntityBaseX>(new[] { typeof(EntityBX), typeof(EntityAX) }).Count());
            }

            Assert.IsTrue(bindings.UnregisterColumnBinding(typeof(EntityAX)));
            Assert.IsTrue(bindings.UnregisterColumnBinding(typeof(EntityA2X)));
            Assert.IsTrue(bindings.UnregisterColumnBinding(typeof(EntityBX)));
            Assert.IsTrue(bindings.UnregisterColumnBinding(typeof(EntityB2X)));
            Assert.IsTrue(bindings.UnregisterTableBinding(typeof(EntityBaseX)));
        }
        public void PersistAndFind()
        {
            var bindings = Emf.Configuration.Binding;

            Assert.IsFalse(bindings.StrictExplicitColumnBinding);
            Assert.IsFalse(bindings.StrictExplicitKeyBinding);
            Assert.IsFalse(bindings.StrictExplicitTableBinding);

            Assert.IsTrue(bindings.RegisterTableBinding(typeof(EntityBaseX), new TableBindingEntityBaseX()));
            Assert.IsTrue(bindings.RegisterColumnBinding(typeof(EntityAX), new ColumnBindingEntityAX()));
            Assert.IsTrue(bindings.RegisterColumnBinding(typeof(EntityA2X), new ColumnBindingEntityA2X()));
            Assert.IsTrue(bindings.RegisterColumnBinding(typeof(EntityBX), new ColumnBindingEntityBX()));
            Assert.IsTrue(bindings.RegisterColumnBinding(typeof(EntityB2X), new ColumnBindingEntityB2X()));

            var eb1 = new EntityBX();

            TestBase.TestSerialization(eb1);

            var eb2 = new EntityBX {
                A = new EntityAX()
            };

            TestBase.TestSerialization(eb2);

            using (var em = Emf.CreateEntityManager())
            {
                em.Configuration.Binding.StrictExplicitTableBinding  = true;
                em.Configuration.Binding.StrictExplicitColumnBinding = true;

                em.Persist(eb1);
                Assert.IsNotNull(eb1.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb1.Key.Row));
                Assert.AreEqual("b", eb1.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb1.Key.ColumnQualifier));

                em.Persist(eb2);
                Assert.IsNotNull(eb2.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb2.Key.Row));
                Assert.AreEqual("b", eb2.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb2.Key.ColumnQualifier));

                Assert.IsNotNull(eb2.A.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb2.A.Key.Row));
                Assert.AreEqual("a", eb2.A.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb2.A.Key.ColumnQualifier));
            }

            using (var em = Emf.CreateEntityManager())
            {
                em.Configuration.Binding.StrictExplicitTableBinding  = true;
                em.Configuration.Binding.StrictExplicitColumnBinding = true;

                var _eb1 = em.Find <EntityBX>(eb1.Key);
                Assert.AreEqual(eb1, _eb1);

                var _ea2 = em.Find <EntityAX>(eb2.A.Key);
                Assert.AreEqual(eb2.A, _ea2);

                var _eb2 = em.Find <EntityBX>(eb2.Key);
                Assert.AreEqual(eb2, _eb2);

                Assert.AreEqual(2, em.Fetch <EntityBX>().Count());
                Assert.AreEqual(1, em.Fetch <EntityAX>().Count());
                Assert.AreEqual(3, em.Fetch <EntityBaseX>().Count());
                Assert.AreEqual(2, em.Fetch <IEntityBx>().Count());
                Assert.AreEqual(3, em.Fetch <EntityBaseX>(new[] { typeof(EntityBX), typeof(EntityAX) }).Count());
            }

            var eb21 = new EntityB2X();

            TestBase.TestSerialization(eb21);

            var eb22 = new EntityB2X {
                A = new EntityA2X()
            };

            TestBase.TestSerialization(eb22);

            using (var em = Emf.CreateEntityManager())
            {
                em.Persist(eb21);
                Assert.IsNotNull(eb21.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb21.Key.Row));
                Assert.AreEqual("b", eb21.Key.ColumnFamily);
                Assert.AreEqual("bx", eb21.Key.ColumnQualifier);

                em.Persist(eb22);
                Assert.IsNotNull(eb22.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb22.Key.Row));
                Assert.AreEqual("b", eb22.Key.ColumnFamily);
                Assert.AreEqual("bx", eb22.Key.ColumnQualifier);

                Assert.IsNotNull(eb22.A.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb22.A.Key.Row));
                Assert.AreEqual("a", eb22.A.Key.ColumnFamily);
                Assert.AreEqual("a2x", eb22.A.Key.ColumnQualifier);
            }

            using (var em = Emf.CreateEntityManager())
            {
                var _eb21 = em.Find <EntityBX>(eb21.Key);
                Assert.IsInstanceOfType(_eb21, typeof(EntityB2X));
                Assert.AreEqual(eb21, _eb21);

                var _ea22 = em.Find <EntityAX>(eb22.A.Key);
                Assert.IsInstanceOfType(_ea22, typeof(EntityA2X));
                Assert.AreEqual(eb22.A, _ea22);

                var _eb22 = em.Find <EntityBX>(eb22.Key);
                Assert.IsInstanceOfType(_eb22, typeof(EntityB2X));
                Assert.AreEqual(eb22, _eb22);

                Assert.AreEqual(1, em.Fetch <EntityA2X>().Count());
                Assert.AreEqual(2, em.Fetch <EntityAX>().Count());
                Assert.AreEqual(2, em.Fetch <EntityB2X>().Count());
                Assert.AreEqual(4, em.Fetch <EntityBX>().Count());
                Assert.AreEqual(4, em.Fetch <IEntityBx>().Count());
                Assert.AreEqual(6, em.Fetch <EntityBaseX>().Count());
                Assert.AreEqual(6, em.Fetch <EntityBaseX>(new[] { typeof(EntityBX), typeof(EntityAX) }).Count());
            }

            Assert.IsTrue(bindings.UnregisterColumnBinding(typeof(EntityAX)));
            Assert.IsTrue(bindings.UnregisterColumnBinding(typeof(EntityA2X)));
            Assert.IsTrue(bindings.UnregisterColumnBinding(typeof(EntityBX)));
            Assert.IsTrue(bindings.UnregisterColumnBinding(typeof(EntityB2X)));
            Assert.IsTrue(bindings.UnregisterTableBinding(typeof(EntityBaseX)));
        }
        public void PersistAndFind()
        {
            var eb1 = new EntityBX();
            TestBase.TestSerialization(eb1);

            var eb2 = new EntityBX { A = new EntityAX() };
            TestBase.TestSerialization(eb2);

            using (var em = Emf.CreateEntityManager())
            {
                em.Persist(eb1);
                Assert.IsNotNull(eb1.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb1.Key.Row));
                Assert.AreEqual("b", eb1.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb1.Key.ColumnQualifier));

                em.Persist(eb2);
                Assert.IsNotNull(eb2.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb2.Key.Row));
                Assert.AreEqual("b", eb2.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb2.Key.ColumnQualifier));

                Assert.IsNotNull(eb2.A.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb2.A.Key.Row));
                Assert.AreEqual("a", eb2.A.Key.ColumnFamily);
                Assert.IsTrue(string.IsNullOrEmpty(eb2.A.Key.ColumnQualifier));
            }

            using (var em = Emf.CreateEntityManager())
            {
                var _eb1 = em.Find<EntityBX>(eb1.Key);
                Assert.AreEqual(eb1, _eb1);

                var _ea2 = em.Find<EntityAX>(eb2.A.Key);
                Assert.AreEqual(eb2.A, _ea2);

                var _eb2 = em.Find<EntityBX>(eb2.Key);
                Assert.AreEqual(eb2, _eb2);

                Assert.AreEqual(2, em.Fetch<EntityBX>().Count());
                Assert.AreEqual(1, em.Fetch<EntityAX>().Count());
                Assert.AreEqual(3, em.Fetch<EntityBaseX>().Count());
                Assert.AreEqual(2, em.Fetch<IEntityBx>().Count());
                Assert.AreEqual(3, em.Fetch<EntityBaseX>(new[] { typeof(EntityBX), typeof(EntityAX) }).Count());
            }

            var eb21 = new EntityB2X();
            TestBase.TestSerialization(eb21);

            var eb22 = new EntityB2X { A = new EntityA2X() };
            TestBase.TestSerialization(eb22);

            using (var em = Emf.CreateEntityManager())
            {
                em.Persist(eb21);
                Assert.IsNotNull(eb21.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb21.Key.Row));
                Assert.AreEqual("b", eb21.Key.ColumnFamily);
                Assert.AreEqual("bx", eb21.Key.ColumnQualifier);

                em.Persist(eb22);
                Assert.IsNotNull(eb22.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb22.Key.Row));
                Assert.AreEqual("b", eb22.Key.ColumnFamily);
                Assert.AreEqual("bx", eb22.Key.ColumnQualifier);

                Assert.IsNotNull(eb22.A.Key);
                Assert.IsFalse(string.IsNullOrEmpty(eb22.A.Key.Row));
                Assert.AreEqual("a", eb22.A.Key.ColumnFamily);
                Assert.AreEqual("a2x", eb22.A.Key.ColumnQualifier);
            }

            using (var em = Emf.CreateEntityManager())
            {
                var _eb21 = em.Find<EntityBX>(eb21.Key);
                Assert.IsInstanceOfType(_eb21, typeof(EntityB2X));
                Assert.AreEqual(eb21, _eb21);

                var _ea22 = em.Find<EntityAX>(eb22.A.Key);
                Assert.IsInstanceOfType(_ea22, typeof(EntityA2X));
                Assert.AreEqual(eb22.A, _ea22);

                var _eb22 = em.Find<EntityBX>(eb22.Key);
                Assert.IsInstanceOfType(_eb22, typeof(EntityB2X));
                Assert.AreEqual(eb22, _eb22);

                Assert.AreEqual(1, em.Fetch<EntityA2X>().Count());
                Assert.AreEqual(2, em.Fetch<EntityAX>().Count());
                Assert.AreEqual(2, em.Fetch<EntityB2X>().Count());
                Assert.AreEqual(4, em.Fetch<EntityBX>().Count());
                Assert.AreEqual(4, em.Fetch<IEntityBx>().Count());
                Assert.AreEqual(6, em.Fetch<EntityBaseX>().Count());
                Assert.AreEqual(6, em.Fetch<EntityBaseX>(new[] { typeof(EntityBX), typeof(EntityAX) }).Count());
            }
        }
        public void Fetch()
        {
            var eb1 = new EntityBX();
            TestBase.TestSerialization(eb1);

            var eb2 = new EntityBX { A = new EntityAX() };
            TestBase.TestSerialization(eb2);

            var eb21 = new EntityB2X();
            TestBase.TestSerialization(eb21);

            var eb22 = new EntityB2X { A = new EntityA2X() };
            TestBase.TestSerialization(eb22);

            using (var em = Emf.CreateEntityManager())
            {
                em.Persist(eb1);
                em.Persist(eb2);
                em.Persist(eb21);
                em.Persist(eb22);
            }

            using (var em = Emf.CreateEntityManager())
            {
                var _ea = em.Fetch<EntityAX>();
                Assert.IsNotNull(_ea);
                ISet<EntityAX> sax = new HashSet<EntityAX>(_ea.ToList());
                Assert.AreEqual(2, sax.Count);
                Assert.IsTrue(sax.Contains(eb2.A));
                Assert.IsTrue(sax.Contains(eb22.A));
                {
                    var _eb = em.Fetch<EntityBX>();
                    Assert.IsNotNull(_eb);
                    ISet<EntityBX> sbx = new HashSet<EntityBX>(_eb.ToList());
                    Assert.AreEqual(4, sbx.Count);
                    Assert.IsTrue(sbx.Contains(eb1));
                    Assert.IsTrue(sbx.Contains(eb2));
                    Assert.IsTrue(sbx.Contains(eb21));
                    Assert.IsTrue(sbx.Contains(eb22));
                }

                {
                    var _eb = em.Fetch<EntityB2X>();
                    Assert.IsNotNull(_eb);
                    ISet<EntityB2X> sbx = new HashSet<EntityB2X>(_eb.ToList());
                    Assert.AreEqual(2, sbx.Count);
                    Assert.IsTrue(sbx.Contains(eb21));
                    Assert.IsTrue(sbx.Contains(eb22));
                }
            }
        }