Ejemplo n.º 1
0
        public void SetUp()
        {
            entities = new EntitySetImpl();

            entityParent = new EntityImpl("EntityParent");
            entityParent.AddProperty(new PropertyImpl("PrimaryKey")
            {
                Type = "int", IsKeyProperty = true
            });

            entityChild = new EntityImpl("EntityChild");
            entityParent.AddChild(entityChild);
            entityChild.CopyPropertyFromParent(entityParent.ConcreteProperties[0]);
            entityChild.AddProperty(new PropertyImpl("ActualProperty")
            {
                Type = "string"
            });

            entities.AddEntity(entityParent);
            entities.AddEntity(entityChild);

            var proc = new MappingProcessor(new OneToOneEntityProcessor());

            mappingSet = proc.CreateOneToOneMapping(entities);
        }
Ejemplo n.º 2
0
        public void SetUp()
        {
            entities = new EntitySetImpl();

            entity1 = new EntityImpl("Entity1");
            entity1.AddProperty(new PropertyImpl("PrimaryKey")
            {
                Type = "System.Int32", IsKeyProperty = true
            });

            entity2 = new EntityImpl("Entity2");
            entity2.AddProperty(new PropertyImpl("PrimaryKey")
            {
                Type = "System.Int32", IsKeyProperty = true
            });

            entities.AddEntity(entity1);
            entities.AddEntity(entity2);

            reference = entity1.CreateReferenceTo(entity2);
            reference.Cardinality1 = Cardinality.Many;
            reference.Cardinality2 = Cardinality.Many;

            var proc = new MappingProcessor(new OneToOneEntityProcessor());

            mappingSet = proc.CreateOneToOneMapping(entities);
        }
Ejemplo n.º 3
0
        public void It_Creates_A_Column_On_The_Many_Side()
        {
            var proc       = new MappingProcessor(new OneToOneEntityProcessor());
            var mappingSet = proc.CreateOneToOneMapping(entities);

            var table1 = mappingSet.Database.Tables[1];
            var table2 = mappingSet.Database.Tables[1];

            Assert.That(table2.Columns, Has.Count(2));             // Extra column added
            var newColumn = table2.Columns[1];

            Assert.That(newColumn.Datatype, Is.SameAs(table1.Columns[0].Datatype));
        }
Ejemplo n.º 4
0
        public void It_Creates_A_Unique_Key_On_The_Second_Entity()
        {
            var proc       = new MappingProcessor(new OneToOneEntityProcessor());
            var mappingSet = proc.CreateOneToOneMapping(entities);

            var table2 = mappingSet.Database.Tables[1];

            Assert.That(table2.Keys, Has.Count(3), "The second table did not get the new keys");
            var uniqueKey  = table2.Keys.FirstOrDefault(k => k.Keytype == DatabaseKeyType.Unique);
            var foreignKey = table2.Keys.FirstOrDefault(k => k.Keytype == DatabaseKeyType.Foreign);

            Assert.That(uniqueKey, Is.Not.Null);
            Assert.That(uniqueKey.Columns, Has.Count(1));
            Assert.That(uniqueKey.Columns[0], Is.SameAs(foreignKey.Columns[0]));
        }
Ejemplo n.º 5
0
        public void It_Creates_A_Foreign_Key_On_The_Second_Entity()
        {
            var proc       = new MappingProcessor(new OneToOneEntityProcessor());
            var mappingSet = proc.CreateOneToOneMapping(entities);

            var table1 = mappingSet.Database.Tables[0];
            var table2 = mappingSet.Database.Tables[1];

            Assert.That(table2.Keys, Has.Count(3), "The second table did not get the new keys");
            var key        = table2.Keys.FirstOrDefault(k => k.Keytype == DatabaseKeyType.Foreign);
            var primaryKey = table1.Keys.FirstOrDefault(k => k.Keytype == DatabaseKeyType.Primary);

            Assert.That(key, Is.Not.Null);
            Assert.That(key.ReferencedKey, Is.Not.Null);
            Assert.That(key.ReferencedKey, Is.SameAs(primaryKey));
        }
Ejemplo n.º 6
0
        public void It_Creates_A_Single_Relationship_With_The_Right_Keys()
        {
            var proc       = new MappingProcessor(new OneToOneEntityProcessor());
            var mappingSet = proc.CreateOneToOneMapping(entities);

            var table1 = mappingSet.Database.Tables[0];
            var table2 = mappingSet.Database.Tables[1];

            var foreignKey = table2.Keys.FirstOrDefault(k => k.Keytype == DatabaseKeyType.Foreign);
            var primaryKey = table1.Keys.FirstOrDefault(k => k.Keytype == DatabaseKeyType.Primary);

            Assert.That(table1.Relationships, Has.Count(1));
            var relationship = table1.Relationships[0];

            Assert.That(relationship.PrimaryKey, Is.SameAs(primaryKey));
            Assert.That(relationship.ForeignKey, Is.SameAs(foreignKey));
        }
        private MappingSet CreateMappingSet_OneTable()
        {
            Database database = new Database("DB1");
            var      table    = new Table("Table1");

            table.AddColumn(new Column("Column1")
            {
                Datatype = "int", InPrimaryKey = true
            });
            table.AddColumn(new Column("Column2")
            {
                Datatype = "nvarchar", Size = 50
            });

            database.AddTable(table);
            MappingProcessor processor = new MappingProcessor(new OneToOneEntityProcessor());

            return(processor.CreateOneToOneMapping(database));
        }
        private MappingSet CreateMappingSet_TwoTables()
        {
            Database database = new Database("DB1");
            var      table1   = new Table("Table1");

            table1.AddColumn(new Column("Column1")
            {
                Datatype = "int", InPrimaryKey = true
            });

            var table2 = new Table("Table2");

            table2.AddColumn(new Column("Column1")
            {
                Datatype = "int", InPrimaryKey = true
            });

            database.AddTable(table1);
            database.AddTable(table2);
            MappingProcessor processor = new MappingProcessor(new OneToOneEntityProcessor());

            return(processor.CreateOneToOneMapping(database));
        }