![](/img/trans.png)
[英]Implementing a sparse array in C# / fastest way to map integer to a specific bucket/range number
[英]C# Generate Specific Length With-In Specific Range Unique Integer Number
我正在開發一個 API in.Net Core,我必須在 SQL 表中保存一個 integer 編號。 該數字的長度必須為“9” ,從 000000001 開始的任何數字 - 9 位數字,並且將來永遠不會重復我也希望這個數字在 memory 級別,因為我必須將此數字用於其他目的。 進行一些搜索后,最常見的解決方案之一是使用DateTime.Now.Ticks並修剪其長度,但問題是當並發 HTTP 請求來時,刻度值可能相同。
那么,有沒有其他更快、更便宜的解決方案呢? 提前致謝
我認為您可以結合 ID(自動增量)創建計算列/字段。 自動 ID 將幫助您插入唯一編號,計算字段將幫助您使該字段生成特定長度。 一個例子:
CREATE TABLE [dbo].[EmployeeMaster](
[ID] [int] IDENTITY(1,1) NOT NULL,
[PreFix] [varchar](50) NOT NULL,
[EmployeeNo] AS ([PreFix]+ RIGHT('0000000' + CAST(Id AS VARCHAR(9)), 9)) PERSISTED,
[EmployeeName] VARCHAR(50),
CONSTRAINT [PK_AutoInc] PRIMARY KEY ([ID] ASC)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.