工作中需要用到全球唯一标识符,在.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。