Skip to content

Solution

The solution section is the main section of the model. It contains all the sub-sections that design the components of the application and some extra properties.

Fields

The solution section contains the following fields:

Name

The name of solution to be build (metadata).

Requirements Rules:

  • Is Required;
  • Must not be a Reserved Keyword;
  • Must start with a letter;
  • Must contains only letters, numbers and the underline char ('_');
  • Max length of 50 chars

Example:

1
Name: My_First_Great_Solution

RootNamespace

The root namespace to be used in generated source code.

Requirements Rules:

  • Is Required;
  • Must not contain any Reserved Keyword;
  • Must contains only words separated by dots;
  • Max length of 100 chars;

Example:

1
RootNamespace: Company.Project

Tip

The common approach is to use the Company's name and the Project's name to compose a good namespace.

Entities

The list of entities for application.

Requirements Rules:

  • Is Required;
  • Each entity must have an exclusive 'Name' property value;
  • Each entity on list must follows rules as specified in Entity;

Example:

1
2
3
4
5
Entities:
- Name: MyFirstEntity
  ...
- Name: MySecondEntity
  ...

DbInstances

The list of database server instances to be provisioned for application.

Requirements Rules:

  • Is Required;
  • Each dbInstance must have an exclusive 'Name' property value;
  • Each dbInstance on list must follows rules as specified in DbInstance;

Example:

1
2
3
4
5
DbInstances:
- Name: MyDbServer01
  ...
- Name: MyDbServer02
  ...

Databases

The list of databases that should be created in dbInstances to be used in application.

Requirements Rules:

  • Is Required;
  • Each database must have an exclusive 'Name' property value;
  • Each database on list must follows rules as specified in Database;

Example:

1
2
3
4
5
6
7
Databases:
- Name: IdentityDatabase
  ...
- Name: OperationsDatabase
  ...
- Name: RegisterDatabase
  ...

IdentityConfig

Configuration for Identity service;

Requirements Rules:

  • Is Required;
  • identityConfig must follows rules as specified in IdentityConfig;

Example:

1
2
IdentityConfig:
  DatabaseName: IdentityDatabase

DbContexts

The list of dbContexts that should be created using the databases.

Requirements Rules:

  • Is Required;
  • Each dbContext must have an exclusive 'Name' property value;
  • Each dbContext on list must follows rules as specified in DbContext;

Example:

1
2
3
4
5
DbContexts:
- Name: MyDbContext01
  ...
- Name: MyDbContext02
  ...

Repositories

The list of repositories that should be created using the dbContexts. The repository is the bond between Entity and dbContext.

Requirements Rules:

  • Is Required;
  • Each repository must have an exclusive 'Name' property value;
  • Each repository on list must follows rules as specified in Repository;

Example:

1
2
3
4
5
Repositories:
- Name: MyRepo01
  ...
- Name: MyRepo02
  ...

EntityValidations

The list of validations that should be created for each entity. It's optional.

Requirements Rules:

  • Each entityValidation must have an exclusive 'Name' property value;
  • Each entityValidation on list must follows rules as specified in EntityValidation;

Example:

1
2
3
4
5
EntityValidations:
- Name: Entity01_Validation01
  ...
- Name: Entity01_Validation02
  ...

EntityRules

The list of business rules that should be created for each entity. It's optional.

Requirements Rules:

  • Each entityRule must have an exclusive 'Name' property value;
  • Each entityRule on list must follows rules as specified in EntityRule;

Example:

1
2
3
4
5
EntityRules:
- Name: Entity01_Rule01
  ...
- Name: Entity01_Rule02
  ...

HttpCommunications

The list of clients that will be used to Http communications. It's optional.

Requirements Rules:

  • Each httpCommunication must have an exclusive 'Name' property value;
  • Each httpCommunication on list must follows rules as specified in HttpCommunication;

Example:

1
2
3
4
5
HttpCommunications:
- Name: MyHttpClient01
  ...
- Name: MyHttpClient02
  ...

HttpHandlers

The list of delegates that will be used to create an additional message handler for a Http Communication client. It's optional.

Requirements Rules:

  • Each httpHandler must have an exclusive 'Name' property value;
  • Each httpHandler on list must follows rules as specified in HttpHandler;

Example:

1
2
3
4
5
HttpHandlers:
- Name: MyHandler01
  ...
- Name: MyHandler02
  ...

Services

The list of services that are the logical units that will compose your solution.

Requirements Rules:

  • Is Required;
  • Each service must have an exclusive 'Name' property value;
  • Each service on list must follows rules as specified in Service;

Example:

1
2
3
4
5
Services:
- Name: MyService01
  ...
- Name: MyService02
  ...

UIs

The list of user interfaces that will be generated for application. It's optional.

Requirements Rules:

  • Each UI must have an exclusive 'Name' property value;
  • Each UI on list must follows rules as specified in UI;

Example:

1
2
3
4
5
UIs:
- Name: MyUserInterface01
  ...
- Name: MyUserInterface02
  ...

Complete Examples

In the MODEL EXAMPLES section, you can find the following examples to help you build your Solution:


Back to top