ExternalID is not related to ECO_TYPE
I just thought I'd blog about this because it seems to be causing some confusion. ECO_TYPE Use: In integer used in the database to identify the type of object a table row represents. Obtained from: The ECO_TYPE table using the name of the class. Life span: Permanent. The name of the class in ECO_TYPE changes when you rename your class, but the integer value never changes. ExternalId Use: A way of identifying a class instance across EcoSpace instances. Kind of like a string version of a pointer to an object. Obtained from: Index of the class in TypeSystem.AllClasses + "!" + the ECO_ID of the instance. Life span: Although the ECO_ID never changes the class index might when you add or remove classes within the model. I just want to point out that ExternalID and ECO_TYPE are unrelated. When you change your model it does not mean that the ECO_TYPE in your DB must change. Here is an example 01: You create a model with 2 classes in it. The first class is the root, the next is a