我正在创建在线支付系统。银行需要一个唯一的发票号。假设这是表:
public class OnlinePaymentInfo
{
public OnlinePaymentInfo()
{
Orders = new List<Order>();
}
[Key]
public int Id { get; set; }
[Required]
public virtual Order FirstOrder { get; set; }
public IList<Order> Orders { get; set; }
public int InvoiceNumber { get; set; }
public string TransactionReferenceId { get; set; }
}
现在订单可能会改变。一旦完成,我就无法将具有相同发票ID的付款信息发送到银行进行在线支付。我想获得一个新的唯一发票ID。我可以查询数据库以获取最大数量,如下所示:
var newId = db.OnlinePayments.Max(op => op.InvoiceNumber) + 1;
但我想知道这是否是最好的方法。