我们在MS SQL数据库中存储一些Guid。有些旧代码使用`Guid.ToString()`并将其作为`varchar(64)`传递,而一些较新的代码使用唯一标识符参数进行传递。当您使用MS SQL Management Studio查看结果时,它们看起来不同。前三个块的字节顺序被颠倒,但最后一个保持不变。为什么会这样呢?
在Sql Server中,唯一标识符字段可以被索引,因此是“反向”的。
Guid可以从机器特定信息和“事件时间”信息生成。
.Net中的默认Guid是随机的,但你可以通过外部调用从中获取连续的Guid:
[DllImport( "rpcrt4.dll", SetLastError = true )]
static extern int UuidCreateSequential( out Guid guid );
.ToString()
,则会看到字符串的第一部分变化,而其余部分保持不变。