我有一个ASP.NET Core / EF Core应用程序(网上商店),我需要检索客户的订单并将其显示在网格中(最近50个订单)。
带有订单的数据库表包含基本信息,如ID,总金额等,但不幸的是,它不包含一个布尔值,告知订单是否已付款,我需要知道。
因此,为了确定订单是否已经支付,我被迫获得已为订单执行的所有付款的总和,并将其与订单的总金额进行比较。
您建议我采用哪种方法以高效且性能友好的方式计算此信息,同时考虑适当的软件设计?由于使用数据库的几个遗留应用程序,因此无法向orders表添加“IsPaid”属性。
到目前为止,我想到了以下可能性:
3
4
答案 0 :(得分:0)
您可以创建新表(即付款)并设置引用订单的外键。该表可用于存储bool IsPaid以及您可能需要保留的任何其他信息,可能会使您的工作的其他部分更容易。不确定这是否可行,取决于您需要支持的遗留应用程序。