我正在为 ASP.NET 中的客户端编写一个简单的 Web 表单。表单提交后会发送一封电子邮件。要求之一是每封电子邮件都应有一个连续的票号。
我为实现此目的提出的两个选项包括将最后一个数字写入数据库,然后选择它并递增它,或者对文本文件执行类似的操作。
如果可能的话,我想避免外部依赖,并且为单个值创建数据库表似乎有点矫枉过正。不过,文本文件方法确实很老套,如果文本文件被删除或覆盖,很容易失败。
我还可以考虑其他选择吗?
最佳答案
我可能会使用带有标识(自动增量)列的数据库,主要是因为它负责同一应用程序的多个线程或分布式版本之间的锁定。它还可以从重新启动和其他系统事件中很好地恢复。
大多数数据库都提供在插入操作期间返回递增 ID 的方法,因此您不必选择返回记录来获取递增 ID。
关于c# - 可以在没有数据库表的情况下生成序列号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5805398/