Project Explorer
The Project Explorer docked to the left side of the Designer
The project explorer is the central viewer of the elements in your LLBLGen Pro project and the entrance point to for performing actions on these elements. You can compare it with the 'Solution Explorer' in visual studio.
LLBLGen Pro has a project explorer which is multi-selection aware. Every node in the Project Explorer, if applicable, has a context menu which offers functionality on that node or a group of selected nodes of that same type (e.g. a selected set of entity definition nodes).
The Project Explorer isn't the only viewer of project information, the Catalog Explorer is equally important, for viewing and interacting with the Relational Model Data available to you in the project.
The main parts of the project explorer are explained below
The main Project Explorer elements
The following main elements are available in the Project Explorer. As the project is divided into Entity Model and Derived Models, the different nodes are explained per part.
- Search
- At the top of the Project Explorer a search box is present which allows you to search on every node in the tree by typing a part of the name of the node. All nodes which name contains the typed text are shown, the rest of the nodes are hidden. Removing the typed text by clicking the X button in the search text box will restore the tree as it was before the search. Searching is case insensitve. The search panel supports a few operators to help with fine-tuning your search. Please see the table below:
Character | Description | Example |
---|---|---|
* |
The 'Contains' operator. It's applied by default so it's not really necessary to specify this operator. | *Order will match Order but also BackOrders |
^ |
The 'StartsWith' operator. Use it to match the search text only at the start of names. | ^Order will match with Order and OrderCollection , but not with BackOrders |
~ |
The 'Like' operator. When specified, use a % character to specify wildcards |
~%der will match with Order and PreOrder but not with BackOrders . |
= |
The 'Equals' operator. Use this to get exact matches. | =Order will match Order but not PreOrder or BackOrders |
- Project Node
- The project node is the node which represents the loaded project. You can use this node to access project oriented functionality.
- Entity Model Node
- The root node for all Entity Model related elements.
- Derived Models
- The root node for all Derived Model elements.
Entity Model
The following nodes are available below the Entity Model node.
- Target Framework
- This node represents the target framework chosen for the entity model
- Relational Model Data and Relational Model Data Storage nodes
- Relational Model data, be it relational model data retrieved from a relational database (database first) or generated by the designer from entity definitions (model first), is stored in Relational Model Data Storage containers, which are visible below the Relational Model Data node. These Relational Model Data Storage containers are the root nodes of the nodes visualized in the Catalog Explorer.
- Group Nodes
- The initial group is the unnamed group. You're free to rename it or create new groups by moving elements like entity definitions to a named group. Groups are either a visual grouping mechanism or a way to group elements for different output projects. This is controlled by settings in the project.
- Element Definitions
-
These definitions form the main building blocks for the model available though the Project Explorer. Each of these elements can be placed into a named Group or be placed in the unnamed group. They can be one of the following:
- Entity Definitions
- Value Type Definitions
- Typed List Definitions
- Typed View Definitions
- Stored Procedure Call Definitions
- Table Valued Function Call Definitions
- Model View Definitions
- Model View Definitions are placed outside groups and can contain entity definitions of multiple groups.
Derived Models
The following nodes are available below the Derived Models node.
- Derived Model Nodes
- Per derived model a root node is added, with the name of the model
Derived Model
The following nodes are available below a Derived model node
- Target Framework
- This node represents the target framework chosen for the derived model
- Derived Element Nodes
- Per derived element a node is present with the name of the derived element as well as the name of the element from the Entity Model it derives from. The derived element nodes are specified with their full hierarchical shape.
Highlighting of related elements
Related elements to the selected relationship are highlighted in the Project Explorer
By default, the Project Explorer will highlight related elements of the selected element(s), by drawing a box around the highlighted element. In the above image, the selected relationship shows the highlighted elements Order, Customer and also the foreign key field CustomerId. This works for single selected elements and also for selections of multiple elements, up to 25 elements.
Additionally, a mapped target of a selected element, or set of selected elements, is highlighted in the Catalog Explorer. Highlighting also works across models: selecting an entity will highlight all derived elements in derived models which are derived from the selected entity. To avoid a lot of highlight boxes, highlighting related to entity fields is kept to a minimum: only if the field is a foreign key field, related elements are highlighted.
If you don't want this highlighting, you can switch it off in the Designer Preferences, by switching off the setting Enable related element highlighting.