What am I missing here?

In the Dataset's before post event I am having to copy the value from the entity field directly to the object or it is null when the object is inserted.  I don't get what I am doing wrong, why won't it just save the value in  adsLocationScalesModel?

  if Dataset = adsLocationScales then

    // I don't why I am having to hack this but it just won't save otherwise?
    adsLocationScales.Current<TScale>.Model := adsLocationScalesModel.AsEntity<TModel>;

That is really strange. One test Aurelius Dataset does is if the field was modified (if it's in the ModifiedFields list of the dataset). Can you please check, for example, if changing the field directly (AsEntity<TModel> := nil then AsEntity<TModel> := {back again} will also make the object to be updated?

Can you please also check the value of adsLocationScalesModel.FieldNo property?