我仍处于使用多功能交易系统规划应用程序的早期阶段,该系统将考虑多种交易类型和支付处理程序。
说我有以下基类:
public class Transaction {
public int Id { get; set; }
public TransactionTypes Type { get; set; }
public PaymentHandlers PaymentHandler { get; set; }
public decimal Amount { get; set; }
}
其中TransactionTypes是确定事务类型的枚举。以下是交易类型为Product:
的示例public class ProductTransaction : Transaction {
public Address DeliveryAddress { get; set; }
}
PaymentHandlers是一个枚举,用于确定交易的支付处理程序。以下是付款处理程序为PayPal时的示例:
public class TransactionPayPal : Transaction {
public string AccountName { get; set; }
}
但是我不确定我是否已经完全正确,因为我有两个不同的类,它们使用不同的Discriminator从Transaction继承。我假设有一些规则反对这个,因为我可以想象这会在以后插入和获取数据时引起问题。
我很欣赏如何实现这一目标的建议。感谢
答案 0 :(得分:0)
根据史蒂文的建议,我重构了我的设计。现在我有一个TransactionHandler类型,它将处理程序信息与事务分开。最后,我在这两个类(数据库中的外键)之间添加了一个连接。