【发布时间】:2020-10-13 11:56:27
【问题描述】:
我首先使用 EF 代码和 MVC6 将事务存储在 SQL 数据库中,我需要根据事务类型反转值的符号。我想在一个中心点执行此操作,因此我不必在整个应用程序中进行多项更改。即在模型创建或实体上。比如:
public class Transactions : EntityBase
{
public TransactionType Type { get; set; }
public decimal Amount
{
get
{
if (Type == Type.Refund && Amount > 0)
return Amount * -1;
else
return Amount;
}
set { Amount = value; }
}
}
我们也可以将值存储为负数。关于如何最好地实现这一点的任何建议?
【问题讨论】:
-
当然你可以找到一种方法来做到这一点,但我会正确存储它。这依赖于 EF 正在处理的数据来反映交易的负值。如果您使用原始 SQL 或任何其他数据访问层生成报告,如果没有类似的处理,您的余额将会出错。
-
这很公平,我们需要将值存储为负数或持有 ValueType + 或 - 以使用 Transaction Type。始终需要逻辑来显示正确的总数,因为用户可以为所有交易类型发布负值,即-50 英镑的贷方票据 + 100 英镑的贷方票据 + 100 英镑的发票 = 50 英镑。干杯。
标签: c# entity-framework model-view-controller transactions