我有一個對象,比如Dog。對於每個狗,DB都會生成一個唯一的標識符 - ID。在對象上生成負面ID並防止整數溢出
但是,在將狗保存在數據庫之前,我應該生成一個臨時(負ID)。
因此,我在Class Dog中創建了一個shared(static)_lastId = 0。
在Dog的構造函數中,我只是遞減lastId。
但是,一旦我將狗保存在數據庫中,或者狗在垃圾收集器中「死亡」,則負號不再用於該對象,因此可以被其他狗使用,這些狗是活着但未保存的。
因爲最大整數= 2,147,483,647
,如果我做了很多狗的我可能超過整數的最大極限的大名單的產生,supressions的...
Private Shared _LastId = 0
Public Sub New()
Me.Id = _LastId - 1
什麼「循環」 mecanism可能在這裏用來防止溢出?
爲什麼你需要跟蹤_lastId?你使用它來確定最近插入的行的ID嗎? –