工作中需要用到全球唯一標識符,在.net當中 微軟已經為我們添加了此方法,我們只需要直接調用即可。代碼如下:
string guid = Guid.NewGuid().ToString();
但事情往往沒有那么容易一帆風順,當別人設計的數據庫ID類型為varchar(32)時,使用Guid.NewGuid().ToString()自動生成ID值,本來大小32位妥妥的。可C#在生成的ID值中自動生成了幾根小橫杠,你說是不是討嫌。這時往數據庫添加數據時就報錯了。前幾天工作中剛剛遇到的問題。那怎么把自動生成的小橫杠去掉呢?方法很簡單:
string guid = Guid.NewGuid().ToString("N");
Sqlserver中需要生成Guid也很方便:
select NEWID();
需要跟C#中生成的Guid配套的話,還需要加點工,因為在Sqlserver中生成的Guid字母為大寫,而且也有小橫杠:
select LOWER(REPLACE(NEWID(),'-',''))
使用 REPLACE()去掉小橫杠並使用 LOWER()轉換為小寫,OK。