Change DB structure to make customfield values type specific


We have improved the way custom field values are stored and retrieved.

Following types:

  • decimal,
  • boolean,
  • date,
  • time,
  • ItemIdvalue,
  • PersonIdValue,
  • LovIdValue

are not converted from (when loading) / to (when saving) text anymore.
Now they are saved according to their types to dedicated columns of a custom field value.

This boosts the performance when working with custom field values.


  1. Time is not a 5-chars string anymore but a TimeSpan.
  2. Checkbox value is saved to the database only when having a TRUE value (which is any value except emty, null, zero or FALSE).
  3. ItemIdvalue, PersonIdValue, LovIdValue – numeric, indexed columns for Item Pickers, Person pickers and Predefined Custom Field Values pickers (known as LOV).
  4. For Api scripts nothing changes – values are converted to a string representation according to the currect culture of a logged on person.
  5. Date is not a datetime anymore.