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); }
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); }
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)); }
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])); }
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)); }
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)); }