Как жестко закодировать значение объекта varchar?

Требование состоит в том, чтобы сохранить жестко закодированное значение для varchar, которое находится в файле сущности (.eti). Я попытался добавить параметр по умолчанию, но он не работает.


person Harshu ganesh    schedule 10.11.2019    source источник


Ответы (2)


Параметр по умолчанию хорошо работает с логическими значениями (true/false), списками типов (вы можете выбрать код типа по умолчанию), денежными суммами, но похоже, что нельзя указывать varchar по умолчанию. Поэтому самым простым способом было бы создать правило предварительного обновления, которое вставляет это значение по умолчанию каждый раз, когда вы создаете новую запись в базе данных.

Пример правила перед обновлением:

  @gw.rules.RuleName("YourEntityAssignDefaultValue")
internal class YourEntityAssignDefaultValueRule {
  static function doCondition(yourEntity : entity.YourEntity) : boolean {
    return yourEntity.New
  }

  static function doAction(yourEntity : entity.YourEntity, actions : gw.rules.Action) {
    yourEntity.yourColumn = "defaultValue"
  }
}
person SebastianJ    schedule 10.11.2019

вы можете достичь с помощью свойств геттера и сеттера в соответствующем классе расширения.

  public property get PolicyNumber(): String {
      return  this.PolicyNumber  }

и где-то в классе вам должно быть присвоено значение поля PolicyNumber, тогда оно отразится.

person Shivanandam    schedule 22.11.2019
comment
@Harshu ganesh Просто помните, что это решение не дает вам значения в базе данных, убедитесь, что оно вам не нужно. (например, для отчетов БД) - person kajojeq; 06.12.2019