Coldfusion EntityLoad 读取计算字段

Coldfusion EntityLoad reading calculated field

我有一个包含很多字段的实体。

<cfscript>
component persistent="true" output="false" {
...
property name="placeholder"     default = 0;
property name="expired"         update=false    insert=false;
property name="admin"           default = 0;
property name="partner"         default = 0;

很久以后,但在同一个请求中。我要这样做

if (!arguments.Account.getPlaceholder() )   local.arRoles.append("account");
if (!arguments.Account.getExpired()     )   local.arRoles.append("event");
if (arguments.Account.getAdmin()        )   local.arRoles.append("admin");
if (arguments.Account.getPartner()      )   local.arRoles.append("partner");

然后我收到如下所示的错误

我转储了对象。看起来应该可以

Expired 与其他字段不同。它由在数据库上完成的计算支持。这就是为什么

 property name="expired"            update=false    insert=false;

此外

 Account = EntityLoadByPK("Accounts", arguments.id);

很多都没有达到预期。必须强制从数据库读取

 Account = EntityLoadByPK("Accounts", arguments.id);
 EntityReload(Account);