public void Can_set_owner_and_corresponding_association_added_to_model() { var database = new EdmModel(DataSpace.SSpace); var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK"); var principalTable = database.AddTable("P"); foreignKeyBuilder.PrincipalTable = principalTable; var dependentTable = database.AddTable("D"); foreignKeyBuilder.SetOwner(dependentTable); var associationType = database.GetAssociationType("FK"); Assert.NotNull(associationType); Assert.NotNull(associationType.SourceEnd); Assert.NotNull(associationType.TargetEnd); Assert.Same(principalTable, associationType.SourceEnd.GetEntityType()); Assert.Equal("P", associationType.SourceEnd.Name); Assert.Same(dependentTable, associationType.TargetEnd.GetEntityType()); Assert.Equal("D", associationType.TargetEnd.Name); var associationSet = database.GetAssociationSet(associationType); Assert.NotNull(associationSet); Assert.NotNull(associationSet.SourceSet); Assert.NotNull(associationSet.TargetSet); }
public void AssociationSet_TargetEnd_correct_after_setting_owner() { var database = new EdmModel(DataSpace.SSpace); var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK"); foreignKeyBuilder.PrincipalTable = database.AddTable("P"); foreignKeyBuilder.SetOwner(database.AddTable("T")); var associationType = database.GetAssociationType("FK"); var associationSet = database.GetAssociationSet(associationType); Assert.Equal("T", associationType.TargetEnd.Name); Assert.Equal("T", associationSet.TargetEnd.Name); foreignKeyBuilder.SetOwner(database.AddTable("T1")); Assert.Equal("T1", associationType.TargetEnd.Name); Assert.Equal("T1", associationSet.TargetEnd.Name); }
public void GetAssociationSet_should_return_association_set() { var model = new EdmModel(DataSpace.CSpace); var entityType = model.AddEntityType("Foo"); model.AddEntitySet("FooESet", entityType); var associationType = new AssociationType("A", XmlConstants.ModelNamespace_3, false, DataSpace.CSpace) { SourceEnd = new AssociationEndMember("S", entityType), TargetEnd = new AssociationEndMember("T", entityType) }; model.AddAssociationSet("FooSet", associationType); var associationSet = model.GetAssociationSet(associationType); Assert.NotNull(associationSet); Assert.Same(associationType, associationSet.ElementType); }