Can the engine be a little more experienced in the properties estimation.
E.g. when the property simply doesn't based on any class field?
I mean it is a little boring to specify:
cfg.HasProperty(c => c.PeriodNameForVoucherRef).AsTransient();
) ? PeriodName.Substring(3) : PeriodName;