FIX: Moving a subtype connector in an ORM source model may delete subtype definitions and duplicate subtype connectors (319227)



The information in this article applies to:

  • Microsoft Visio for Enterprise Architects (2002), when used with:
    • Microsoft Visual Studio .NET (2002), Enterprise Architect Edition

This article was previously published under Q319227

SYMPTOMS

In an Object Role Modeling (ORM) source model, when you move a subtype connector, you may also delete the subtype definition and duplicate displays of the subtype connectors.

CAUSE

When you move a subtype connector (for example, to switch the connector to a more central connection point for better alignment), at least one end may temporarily become detached from any connection point. This action causes the affected subtype not to be treated as a subtype in the underlying model, and the subtype definition and any duplicate displays of the subtype connector are removed.

RESOLUTION

Subtype connectors attach to connection points on the supertype and on the subtype. These connection points are hidden by default, but you can display these connections by clicking Connection Points on the View menu.

Before you reposition a connector to a subtype for which you have supplied a subtype definition, copy the subtype definition either to the Clipboard or to a text box, so that you can paste the definition back into the subtype definition pane when you have completed the move. If you have duplicated the subtype and supertype (on another page, for example), drag the Subtype Relationship arrow from the ORM source model stencil, and then connect the arrow to the object types to redisplay the connection.

NOTE: You can right-click the subtype or supertype, and then click Show Relationships; however, this action displays any associations played by the object type, also.

The "More Information" section of this article includes two detailed scenarios for how to work around this problem.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article. This bug was corrected in Visual Studio .NET (2003).

MORE INFORMATION

Scenario 1: Move a subtype connection where the subtype has a subtype definition

Page 1 of an ORM source model displays the fact type Person has Gender, the object type Woman, and a subtype connection from Woman to Person. Also, a definition exists in the Subtype definition field of Database Properties for Woman (for example, each Woman is a Person who is of Gender F).

You want to move the subtype connector in one of the following ways:
  • Indirectly, either by moving the subtype or by moving the supertype shape
  • Directly, by disconnecting the subtype connector at one end
To work around the problem, follow these steps:
  1. Select the subtype definition in the subtype definition pane, and then press CTRL+C to copy the subtype definition to the Clipboard.
  2. Reposition the subtype connector.
  3. Position the insertion point in the subtype definition pane where you want to paste the subtype definition text, and then press CTRL+V to paste the subtype definition from the Clipboard.

Scenario 2: Move a subtype connection where the subtype is duplicated elsewhere

Page 1 of an ORM source model displays the fact type Person has Gender, the object type Woman, and a subtype connection from Woman to Person.

Page 2 displays a duplicate of Person and Woman, but does not display the subtype connection between these objects. To display this connection on page 2, drag the Subtype Relationship arrow from the ORM source Model stencil, and then connect the arrow from Woman to Person.

You want to move the subtype connector on page 1 in one of the following ways:
  • Indirectly, either by moving the subtype or by moving the supertype shape
  • Directly, by disconnecting the subtype connector at one end
However, if you move the subtype connector on page 1, you will remove the duplicate subtype connection on page 2 (the subtype connection remains in the underlying model, but is not displayed for the duplicate connection).

To move the subtype connection, and then restore the display of the duplicate connection on page 2, follow these steps:
  1. Follow the steps in scenario 1 to move the subtype connection.
  2. On page 2, drag the Subtype Relationship arrow from the ORM source model stencil, and then connect the arrow from Woman to Person.
NOTE: This problem also occurs when the duplicate subtype or supertype appears on the same page as the original.

Modification Type:MinorLast Reviewed:1/20/2006
Keywords:kbvs2005doesnotapply kbvs2005swept kbtshoot kbvs2002sp1sweep kbfix kbbug kbnofix KB319227 kbAudDeveloper