Skip to content
Christopher Davis edited this page Jan 28, 2019 · 4 revisions

Datastore is a faceted navigation engine. It allows a single object with a set of properties to be indexed and searched. Certain object properties can be grouped according to type. There are numerous ways to group data. If a property has a finite set of values like U.S. states, then that field will be defined as a dimension. A dimension has a finite set of values called refinements. Each of the unique values, like U.S. states, will be defined as a refinement and assigned a unique integer. The integer is used for searching and URL queries. This allows URL string to be shorter and prevent XSS attacks.

A repository is a store of data with a schema defined as a single object type. The object is defined as a POCO in code with data store specific attributes added to the object properties that allow the system to create a backing store of the proper schema.

A defined repository object has a set of fields each with a data type and other other meta properties such as nullable, etc. An object has a single, required primary key that is used to uniquely define the object. The primary key field is used to add, replace, or delete an object in the repository.

Clone this wiki locally