Merging 100 entity types in less than two minutes?! What features of ORM Lite make this efficiency possible? Let's take a closer look at these six steps and find out. Even if you haven't tried ORM Lite you will find this interesting. Read on!
- Direct editing in table views of model objects. Entity types can be directly edited in a table view. This view was initially created to make it easy to do mass updates to data types, but simplifies changing names and reference modes, too. Much time is save because you don't have to open and edit each entity type one at a time.
- Column filtering of table views. Filters make it easy to find the five model objects you need out of the thousands in the model. At its simplest the filter can be just a text string, but it is also possible to invert the filter by typing a hyphen as the first character. For power users the filter can be a complex regular expression.
- Enhanced verbalizer. While it can be useful to translate ORM constraints into sentences (especially for new users), it is more important to pull together into one compact display connected data from multiple parts of the model. For example, when clicking on an entity type, ORM Lite will display the different data types of the connected source system table columns, the long Entity description, modeler notes, and all of the fact types the entity takes a role in. When clicking on a fact type, it will show the fact type derivation rule and a source column data profile including the most commonly occurring data values.
- Flexibility with some of the rules. ORM LIte will allow entity types with duplicate names and fact types without readings. In my current modeling project I found that I created hundreds of fact types through the import process that I then wanted to ignore. I was able to set the "Omit from Mapping" flag and leave them in their invalid condition. I don't want to delete them because they may eventually turn out to be important, but I don't want to spend the time making them follow the rules.
- The References window. The cross-reference windows is updated every time you click on any model object. It provides a link to directly navigate to every other report or diagram where that object appears and to everything the object points toward. This makes complex navigation through the model relatively easy and quick. It is a good example of a zero-clicks feature (a feature that does not require any action on the users part to get a significant benefit).
- I initially added the "Combine Dup OT" button when I observed that one of the most common errors that new ORM students made was to create a duplicate of an object when they really should have created another reference to an already existing object. At that time I didn't realize how critical it would be for large re-engineering projects.
In the next post, we'll look at some other powerful features of ORM Lite. Let me know if you have any specific requests.
The purpose of this post (and of the ORM Lite project) is to further an ongoing discussion about how we can improve the user interface for all ORM tools. I hope that ORM tool users will raise their standards and expectations and that ORM tool developers will carefully consider these ideas.
Your comments are welcome.