在发票形式的客户-服务器会计应用程序中,当用户保存一个发票时,它会从服务器获取一个发票号,例如90134,并使用该编号保存发票。客户需要发票号。
那么在离线模式下(例如当网络断开时)如何提供唯一的ID?
像这样使用String Id很好吗:客户端+增量号?
我不想使用GUID
。
最佳答案
如果您预先知道离线期间每个客户将生成多少个发票号,您是否可以预分配发票号?例如如果每个客户每个脱机期间可能仅生成4张发票,则可以为每个客户分配4个号码的块。这可能会在数据库中包含一个额外的列,用于存储一个值,该值指示该数字是已创建的发票还是数字的预分配。根据数据库中的结构和约束,您可能还需要存储一些虚拟数据以增强参照完整性。
不利的一面是您的号码块可能不会被顺序使用,或者根本不会被使用,因此您的发票号码不会按时间顺序排列。另外,如果可用号码池用完了,您也会遇到问题。
关于c# - 如何在离线模式下提供唯一ID?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6355275/