我遇到了一个小难题,我希望 SO 社区可以帮助我解决这个问题。
我目前处于一种情况,我们正在为订单折扣编写自定义逻辑,这些逻辑基于可配置的规则。以下是最简单的表格:
命令
OrderID int
订单折扣
OrderID int
DiscountID int
折扣
DiscountID int
我们正在使用实体框架(但这个问题可能适用于任何数据模型)。我觉得我的选择很简单,但都有各自的缺点:
- 在我的 SQL订单中添加一列“折扣”表中缺点:每次更新订单时,我们都需要记住重新计算折扣并更新此列。这可能会导致数据不一致,但性能会更好。还将允许覆盖折扣金额。
- 将“折扣”属性添加到我的订单数据模型代码中。缺点:任何时候访问此属性都需要计算,但总是准确的。
我应该走哪条路线,为什么?