【发布时间】:2011-07-06 17:27:11
【问题描述】:
在使用 ORM 时,让一个模型类具有一些非持久性属性,这些属性仅用于计算,然后可以安全地删除,这是否违反了某种良好做法?
假设我们有一个产品。该产品有可能的选项列表。期权可能对产品产生价格影响。我们还有一组规则,该规则说,选择一个选项时,另一个选项的价格更改。
当我们将产品与选项一起添加到订单时,我们首先需要根据影响每个选定选项的规则重新计算所有选项的价格。然后我们可以计算该产品及其所有选定选项的最终价格。
在本例中,Option 可能有一个 computedPrice 属性,该属性仅在所选 Options 的上下文中才有意义,并且可以在将 Product 添加到 Order 后安全地删除。
有没有更正确的方法来思考这个问题,或者这样可以吗?
【问题讨论】:
标签: orm persistence entity object-persistence object-relational-model