我正在开发一个 asp.net mvc Web 应用程序,我正在开发一个资产管理系统。每个资产都应该有一个唯一的跟踪号。跟踪号将采用以下格式:-
[C(代表资产类型)][编号],如:-
C100501 。// 其中 C 代表汽车
S100502。//其中S代表服务器。
那么自动生成这个数字的最佳方法是什么,请记住客户已经询问我们是否可以生成没有间隙的数字?
我正在开发一个 asp.net mvc Web 应用程序,我正在开发一个资产管理系统。每个资产都应该有一个唯一的跟踪号。跟踪号将采用以下格式:-
[C(代表资产类型)][编号],如:-
C100501 。// 其中 C 代表汽车
S100502。//其中S代表服务器。
那么自动生成这个数字的最佳方法是什么,请记住客户已经询问我们是否可以生成没有间隙的数字?
如果您正在查看 RDBMS 解决方案,您将拥有某种形式的表结构,如下所示:-
CREATE TABLE [dbo].[Asset]
(
[AssetId] INT IDENTITY(1,1) NOT NULL,
[AssetTypeId] INT NOT NULL,
)
CREATE TABLE [dbo].[AssetType]
(
[AssetTypeId] INT NOT NULL,
[Class] VACHAR(1) NOT NULL, -- C, S, etc.
[Description] VARCHAR(200) NOT NULL -- Cars, Servers, Network Cable, etc.
)
注意上面的表结构是针对SQL Server的;Oracle 和 MySql 类似,但语法不同。
如果你想要一个 NoSQL 解决方案(Mongo、RavenDB 等),那么你会有一个稍微不同的解决方案。