When the Repositories are defined and connected to, you will need to link the Properties that have been set up in Entities (that relate to properties in the actual database) to Properties in the database. To do this you simply ask your DataBase Administrator (DBA) to help with filling in your Data Mappings in Evoke.
In Data Mappings all of the Repositories that you set up are listed, when you select one of these Evoke will list all the Entities that you set up and that are able to be mapped. Against each Entity you can select a 'Repository Object' using the 'Repository Object name' drop down list.
and against each Property you can define:
Data Type (as defined in Entities)
Data Conversion Type
Entity Key Storage (if appropriate) e.g. Local, Remote, Embedded, etc
Each of the Selections, that have been set up in Entities can also have the "Filter Clause" and "Sort Clause" set. These are used in the Evoke Generator, when the App is generated and, if required, Evoke can generate the database CRUD for you.
Update Conflict Control (UCC) auto type
Update Conflict Control refers to the process of managing situations where more than one user modifies the data associated with the same entity instance at the same time. Evoke offers 3 different ways to approach this:
- Custom implementation This way requires you to write a small section of code in the middle tier (C#) that handles the decision as to whether an update conflict has occurred and what to do (accept, reject or merge) if it has.
- Timestamp This approach allows a column/attribute within the repository table/file to be used to hold a date/time modified timestamp that is used to automatically control update conflict.
- GUID This approach allows a column/attribute within the repository table/file to be used to hold a GUID (Globally Unique IDentifier) value that is used to automatically control update conflict.