Microsoft KB Archive/321570

= FIX: ORM source model becomes stuck in an infinite loop when you show all constraints =

Article ID: 321570

Article Last Modified on 1/19/2006

-

APPLIES TO


 * Microsoft Visio for Enterprise Architects 2002, when used with:
 * Microsoft Visual Studio .NET 2002 Enterprise Architect

-



This article was previously published under Q321570



SYMPTOMS
When you click Show All Constraints, the Lay Out Shapes dialog box appears in an endless loop.



CAUSE
This problem occurs when you delete the subset constraint from the existing page but you do not delete the model, and then you delete another page in an Object Role Modeling (ORM) Source Model.



RESOLUTION
To prevent this problem, install the latest service release for Visio for Enterprise Architects 2002.

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

320765 Visio2002: How to Obtain the Latest Visio for Enterprise Architects 2002 Service Release

WORKAROUND
To work around this problem, use the Task Manager to close Visio.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Visio for Enterprise Architects 2002 Service Release 1 (SR-1).



Steps to Reproduce the Behavior
To reproduce the problem, follow these steps:  On the File menu, point to New, point to Database, and then click ORM Source Model. On the Database menu, point to View, and then click Fact Editor. On the Fact tab, type Person for the Object Name, has for the Relationship, and Dog for the second Object Name. Click Apply. On the Fact tab, type Person for the Object Name, has for the Relationship, and Kennel for the second Object Name. Click OK. On the Database menu, point to View, and then click Business Rules.</li> Drag both facts from the Fact Type list to the diagram.</li> In the diagram, select both of the predicates by clicking one predicate, holding down the SHIFT key, and then clicking the other predicate.</li> Right-click one of the predicates, and then click Add Constraints.</li> From the Constraint type list, click Subset.</li> Change the Number of roles at each end from 1 to 2.</li> Click the two check boxes next to [Person] has [Kennel] from left to right, and then click in the two check boxes next to [Person] has [Dog] from left to right. The resulting subset constraint is the following:

If Person p has Kennel d then Person p has Dog d.

Click OK.</li> Click New Page on the Insert menu to add another page to the diagram. Accept all defaults for the Page properties, and then click OK.</li> Drag both facts to Page-2.</li> On Page-1, click the subset constraint shape, and then delete the shape from the diagram. Click No, when prompted to remove the selected item from the underlying model.</li> Right-click the Page-2 tab, and then click Delete to delete Page-2. Click No, when prompted to remove the selected item from the underlying model.</li> Right-click one of the predicates, and then click Show All Constraints.</li></ol>

Additional query words: kbVSNETEntArch2002sr1Fix endlessly displays

Keywords: kbtshoot kbbug kbfix kbvs2002sp1sweep kbvs2005swept kbvs2005doesnotapply KB321570

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.